org.hibernate.search.backend.impl.jms
Class AbstractJMSHibernateSearchController

java.lang.Object
  extended by org.hibernate.search.backend.impl.jms.AbstractJMSHibernateSearchController

public abstract class AbstractJMSHibernateSearchController
extends Object

Implement the Hibernate Search controller responsible for processing the work send through JMS by the slave nodes.

Author:
Emmanuel Bernard, Sanne Grinovero (C) 2011 Red Hat Inc.

Constructor Summary
AbstractJMSHibernateSearchController()
           
 
Method Summary
protected abstract  void cleanSessionIfNeeded(Session session)
          Ensure to clean the resources after use.
protected abstract  Session getSession()
          Return the current or give a new session This session is not used per se, but is the link to access the Search configuration.
 void onMessage(Message message)
          Process the Hibernate Search work queues received
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractJMSHibernateSearchController

public AbstractJMSHibernateSearchController()
Method Detail

getSession

protected abstract Session getSession()
Return the current or give a new session This session is not used per se, but is the link to access the Search configuration.

A typical EJB 3.0 usecase would be to get the session from the container (injected) eg in JBoss EJB 3.0

@PersistenceContext private Session session;

protected Session getSession() {
   return session
}

eg in any container
@PersistenceContext private EntityManager entityManager;

protected Session getSession() {
   return (Session) entityManager.getdelegate();
}


cleanSessionIfNeeded

protected abstract void cleanSessionIfNeeded(Session session)
Ensure to clean the resources after use. If the session has been directly or indirectly injected, this method is empty


onMessage

public void onMessage(Message message)
Process the Hibernate Search work queues received



Copyright © 2006-2012 Red Hat Middleware, LLC. All Rights Reserved