org.apache.uima.adapter.jms.activemq
Class UimaDefaultMessageListenerContainer

java.lang.Object
  extended by org.springframework.jms.support.JmsAccessor
      extended by org.springframework.jms.support.destination.JmsDestinationAccessor
          extended by org.springframework.jms.listener.AbstractJmsListeningContainer
              extended by org.springframework.jms.listener.AbstractMessageListenerContainer
                  extended by org.springframework.jms.listener.AbstractPollingMessageListenerContainer
                      extended by org.springframework.jms.listener.DefaultMessageListenerContainer
                          extended by org.apache.uima.adapter.jms.activemq.UimaDefaultMessageListenerContainer
All Implemented Interfaces:
javax.jms.ExceptionListener, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle

public class UimaDefaultMessageListenerContainer
extends org.springframework.jms.listener.DefaultMessageListenerContainer
implements javax.jms.ExceptionListener


Nested Class Summary
 
Nested classes/interfaces inherited from class org.springframework.jms.listener.AbstractJmsListeningContainer
org.springframework.jms.listener.AbstractJmsListeningContainer.SharedConnectionNotInitializedException
 
Field Summary
static boolean terminating
           
 
Fields inherited from class org.springframework.jms.listener.DefaultMessageListenerContainer
CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, CACHE_SESSION, DEFAULT_RECOVERY_INTERVAL, DEFAULT_THREAD_NAME_PREFIX
 
Fields inherited from class org.springframework.jms.listener.AbstractPollingMessageListenerContainer
DEFAULT_RECEIVE_TIMEOUT
 
Fields inherited from class org.springframework.jms.listener.AbstractJmsListeningContainer
lifecycleMonitor, sharedConnectionMonitor
 
Fields inherited from class org.springframework.jms.support.JmsAccessor
logger
 
Constructor Summary
UimaDefaultMessageListenerContainer()
           
UimaDefaultMessageListenerContainer(boolean freeCasQueueListener)
           
 
Method Summary
 void afterPropertiesSet()
           
 void afterPropertiesSet(boolean propagate)
          Called by Spring and some Uima AS components when all properties have been set.
 void closeConnection()
          Closes shares connection to a broker
 void delegateStop()
           
 void destroy()
          Spins a shutdown thread and stops Sprint and ActiveMQ threads.
 void doDestroy()
          Delegate shutdown to the super class
 java.lang.String getBrokerUrl()
           
 java.lang.String getDestinationName()
           
 java.lang.String getEndpointName()
           
 javax.jms.Destination getListenerEndpoint()
           
 org.springframework.core.task.TaskExecutor getTaskExecutor()
           
protected  void handleListenerException(java.lang.Throwable t)
           
protected  void handleListenerSetupFailure(java.lang.Throwable t, boolean alreadyHandled)
          This method is called by Spring when a listener fails
 void initializeContainer()
           
 boolean isFreeCasQueueListener()
           
 void onException(javax.jms.JMSException arg0)
           
protected  void recoverAfterListenerSetupFailure()
           
protected  void refreshConnectionUntilSuccessful()
          Overriden Spring's method that tries to recover from lost connection.
 void setConcurrentConsumers(int concurrentConsumers)
          Intercept Spring call to increment number of consumer threads.
 void setConnectionFactory(javax.jms.ConnectionFactory aConnectionFactory)
           
 void setController(AnalysisEngineController aController)
           
 void setDestination(javax.jms.Destination aDestination)
           
 void setDestinationResolver(org.springframework.jms.support.destination.DestinationResolver resolver)
           
 void setMessageListener(java.lang.Object messageListener)
          Intercept Spring call to inject application Pojo listener.
 void setMessageSelector(java.lang.String messageSelector)
           
protected  void setModifiedTaskExecutor(org.springframework.core.task.TaskExecutor taskExecutor)
           
 void setTargetEndpoint(Endpoint anEndpoint)
           
 void setTaskExecutor(org.springframework.core.task.TaskExecutor aTaskExecutor)
          Called by Spring to inject TaskExecutor
 void setTerminating()
           
 void shutdownTaskExecutor(java.util.concurrent.ThreadPoolExecutor tpe)
           
 void stop()
           
 
Methods inherited from class org.springframework.jms.listener.DefaultMessageListenerContainer
createDefaultTaskExecutor, doInitialize, doRescheduleTask, doShutdown, establishSharedConnection, getActiveConsumerCount, getCacheLevel, getConcurrentConsumers, getIdleConsumerLimit, getIdleTaskExecutionLimit, getMaxConcurrentConsumers, getMaxMessagesPerTask, getScheduledConsumerCount, initialize, isRegisteredWithDestination, messageReceived, noMessageReceived, refreshDestination, scheduleNewInvokerIfAppropriate, setCacheLevel, setCacheLevelName, setConcurrency, setIdleConsumerLimit, setIdleTaskExecutionLimit, setMaxConcurrentConsumers, setMaxMessagesPerTask, setRecoveryInterval, setTaskExecutor, sharedConnectionEnabled, sleepInbetweenRecoveryAttempts, start, startSharedConnection, stop, stopSharedConnection, validateConfiguration
 
Methods inherited from class org.springframework.jms.listener.AbstractPollingMessageListenerContainer
createConsumer, createListenerConsumer, doReceiveAndExecute, getConnection, getSession, getTransactionManager, isPubSubNoLocal, isSessionLocallyTransacted, receiveAndExecute, receiveMessage, setPubSubNoLocal, setReceiveTimeout, setSessionTransacted, setTransactionManager, setTransactionName, setTransactionTimeout, shouldCommitAfterNoMessageReceived
 
Methods inherited from class org.springframework.jms.listener.AbstractMessageListenerContainer
checkMessageListener, commitIfNecessary, doExecuteListener, doInvokeListener, doInvokeListener, executeListener, getDefaultSubscriptionName, getDestination, getDestinationDescription, getDurableSubscriptionName, getExceptionListener, getMessageListener, getMessageSelector, invokeErrorHandler, invokeExceptionListener, invokeListener, isAcceptMessagesWhileStopping, isExposeListenerSession, isSubscriptionDurable, rollbackIfNecessary, rollbackOnExceptionIfNecessary, setAcceptMessagesWhileStopping, setDestinationName, setDurableSubscriptionName, setErrorHandler, setExceptionListener, setExposeListenerSession, setSubscriptionDurable
 
Methods inherited from class org.springframework.jms.listener.AbstractJmsListeningContainer
createSharedConnection, doStart, doStop, getBeanName, getClientId, getPausedTaskCount, getPhase, getSharedConnection, isActive, isAutoStartup, isRunning, logRejectedTask, prepareSharedConnection, refreshSharedConnection, rescheduleTaskIfNecessary, resumePausedTasks, runningAllowed, setAutoStartup, setBeanName, setClientId, setPhase, shutdown
 
Methods inherited from class org.springframework.jms.support.destination.JmsDestinationAccessor
getDestinationResolver, isPubSubDomain, resolveDestinationName, setPubSubDomain
 
Methods inherited from class org.springframework.jms.support.JmsAccessor
convertJmsAccessException, createConnection, createSession, getConnectionFactory, getSessionAcknowledgeMode, isClientAcknowledge, isSessionTransacted, setSessionAcknowledgeMode, setSessionAcknowledgeModeName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.springframework.beans.factory.BeanNameAware
setBeanName
 

Field Detail

terminating

public static volatile boolean terminating
Constructor Detail

UimaDefaultMessageListenerContainer

public UimaDefaultMessageListenerContainer()

UimaDefaultMessageListenerContainer

public UimaDefaultMessageListenerContainer(boolean freeCasQueueListener)
Method Detail

refreshConnectionUntilSuccessful

protected void refreshConnectionUntilSuccessful()
Overriden Spring's method that tries to recover from lost connection. We dont want to recover when the service is stopping.

Overrides:
refreshConnectionUntilSuccessful in class org.springframework.jms.listener.DefaultMessageListenerContainer

recoverAfterListenerSetupFailure

protected void recoverAfterListenerSetupFailure()
Overrides:
recoverAfterListenerSetupFailure in class org.springframework.jms.listener.DefaultMessageListenerContainer

setTerminating

public void setTerminating()

setController

public void setController(AnalysisEngineController aController)

handleListenerSetupFailure

protected void handleListenerSetupFailure(java.lang.Throwable t,
                                          boolean alreadyHandled)
This method is called by Spring when a listener fails

Overrides:
handleListenerSetupFailure in class org.springframework.jms.listener.DefaultMessageListenerContainer

handleListenerException

protected void handleListenerException(java.lang.Throwable t)
Overrides:
handleListenerException in class org.springframework.jms.listener.AbstractMessageListenerContainer

initializeContainer

public void initializeContainer()

setConcurrentConsumers

public void setConcurrentConsumers(int concurrentConsumers)
Intercept Spring call to increment number of consumer threads. If the value > 1, don't propagate to Spring. A new listener will be injected and it will use provided number of consumer threads.

Overrides:
setConcurrentConsumers in class org.springframework.jms.listener.DefaultMessageListenerContainer

setMessageListener

public void setMessageListener(java.lang.Object messageListener)
Intercept Spring call to inject application Pojo listener. Don't propagate the listener up to Spring just yet. If more than one consumer thread is used, a different listener will be injected.

Overrides:
setMessageListener in class org.springframework.jms.listener.AbstractMessageListenerContainer

afterPropertiesSet

public void afterPropertiesSet()
Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
Overrides:
afterPropertiesSet in class org.springframework.jms.listener.AbstractJmsListeningContainer

afterPropertiesSet

public void afterPropertiesSet(boolean propagate)
Called by Spring and some Uima AS components when all properties have been set. This method spins a thread in which the listener is initialized.


getDestinationName

public java.lang.String getDestinationName()
Overrides:
getDestinationName in class org.springframework.jms.listener.AbstractMessageListenerContainer

getEndpointName

public java.lang.String getEndpointName()

getBrokerUrl

public java.lang.String getBrokerUrl()

setConnectionFactory

public void setConnectionFactory(javax.jms.ConnectionFactory aConnectionFactory)
Overrides:
setConnectionFactory in class org.springframework.jms.support.JmsAccessor

setDestinationResolver

public void setDestinationResolver(org.springframework.jms.support.destination.DestinationResolver resolver)
Overrides:
setDestinationResolver in class org.springframework.jms.support.destination.JmsDestinationAccessor

closeConnection

public void closeConnection()
                     throws java.lang.Exception
Closes shares connection to a broker

Throws:
java.lang.Exception

setDestination

public void setDestination(javax.jms.Destination aDestination)
Overrides:
setDestination in class org.springframework.jms.listener.AbstractMessageListenerContainer

getListenerEndpoint

public javax.jms.Destination getListenerEndpoint()

onException

public void onException(javax.jms.JMSException arg0)
Specified by:
onException in interface javax.jms.ExceptionListener

setTargetEndpoint

public void setTargetEndpoint(Endpoint anEndpoint)

isFreeCasQueueListener

public boolean isFreeCasQueueListener()

setModifiedTaskExecutor

protected void setModifiedTaskExecutor(org.springframework.core.task.TaskExecutor taskExecutor)

doDestroy

public void doDestroy()
Delegate shutdown to the super class


setMessageSelector

public void setMessageSelector(java.lang.String messageSelector)
Overrides:
setMessageSelector in class org.springframework.jms.listener.AbstractMessageListenerContainer

shutdownTaskExecutor

public void shutdownTaskExecutor(java.util.concurrent.ThreadPoolExecutor tpe)
                          throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

destroy

public void destroy()
Spins a shutdown thread and stops Sprint and ActiveMQ threads.

Specified by:
destroy in interface org.springframework.beans.factory.DisposableBean
Overrides:
destroy in class org.springframework.jms.listener.AbstractJmsListeningContainer

setTaskExecutor

public void setTaskExecutor(org.springframework.core.task.TaskExecutor aTaskExecutor)
Called by Spring to inject TaskExecutor


getTaskExecutor

public org.springframework.core.task.TaskExecutor getTaskExecutor()

delegateStop

public void delegateStop()

stop

public void stop()
          throws org.springframework.jms.JmsException
Specified by:
stop in interface org.springframework.context.Lifecycle
Overrides:
stop in class org.springframework.jms.listener.AbstractJmsListeningContainer
Throws:
org.springframework.jms.JmsException


Copyright © 2012. All Rights Reserved.