Class GenericJmsConsumer
- java.lang.Object
-
- org.ikasan.component.endpoint.jms.consumer.GenericJmsConsumer
-
- All Implemented Interfaces:
javax.jms.MessageListener,org.ikasan.spec.component.endpoint.Consumer<org.ikasan.spec.event.EventListener<?>,org.ikasan.spec.event.EventFactory>,org.ikasan.spec.component.endpoint.EndpointListener<javax.jms.Message,java.lang.Throwable>,org.ikasan.spec.component.endpoint.MultiThreadedCapable,org.ikasan.spec.component.transformation.Converter<javax.jms.Message,java.lang.Object>,org.ikasan.spec.configuration.Configured<GenericJmsConsumerConfiguration>,org.ikasan.spec.configuration.ConfiguredResource<GenericJmsConsumerConfiguration>,org.ikasan.spec.management.ManagedIdentifierService<org.ikasan.spec.event.ManagedRelatedEventIdentifierService>,org.ikasan.spec.resubmission.ResubmissionService<javax.jms.Message>
public class GenericJmsConsumer extends java.lang.Object implements org.ikasan.spec.component.endpoint.Consumer<org.ikasan.spec.event.EventListener<?>,org.ikasan.spec.event.EventFactory>, javax.jms.MessageListener, org.ikasan.spec.management.ManagedIdentifierService<org.ikasan.spec.event.ManagedRelatedEventIdentifierService>, org.ikasan.spec.component.endpoint.EndpointListener<javax.jms.Message,java.lang.Throwable>, org.ikasan.spec.configuration.ConfiguredResource<GenericJmsConsumerConfiguration>, org.ikasan.spec.resubmission.ResubmissionService<javax.jms.Message>, org.ikasan.spec.component.transformation.Converter<javax.jms.Message,java.lang.Object>, org.ikasan.spec.component.endpoint.MultiThreadedCapable
Implementation of a generic client consumer based on the JMS specification.- Author:
- Ikasan Development Team
-
-
Field Summary
Fields Modifier and Type Field Description protected GenericJmsConsumerConfigurationconfigurationJMS consumer configuration - default to vanilla instanceprotected java.lang.StringconfiguredResourceIdconfigured resource idprotected javax.jms.ConnectionconnectionJMS Connectionprotected javax.jms.ConnectionFactoryconnectionFactoryJMS Connection Factoryprotected javax.jms.DestinationdestinationJMS Destination instanceprotected DestinationResolverdestinationResolverdestination resolver for locating and returning the configured destination instanceprotected org.ikasan.spec.event.EventListenereventListenerconsumer event listenerprotected org.ikasan.spec.event.EventFactory<org.ikasan.spec.flow.FlowEvent<?,?>>flowEventFactoryconsumer event factoryprotected org.ikasan.spec.event.ManagedRelatedEventIdentifierService<?,javax.jms.Message>managedEventIdentifierServicedefault event identifier service - can be overridden via the setterprotected javax.jms.MessageConsumermessageConsumersession message consumerprotected javax.jms.MessageListenermessageListenertech endpoint listener for callbacks from the endpointprotected org.ikasan.spec.resubmission.ResubmissionEventFactory<org.ikasan.spec.event.Resubmission>resubmissionEventFactoryresubmission event factoryprotected javax.jms.Sessionsessionsession has to be closed prior to connection being closed
-
Constructor Summary
Constructors Constructor Description GenericJmsConsumer()Default constructorGenericJmsConsumer(javax.jms.ConnectionFactory connectionFactory, javax.jms.Destination destination)ConstructorGenericJmsConsumer(javax.jms.ConnectionFactory connectionFactory, DestinationResolver destinationResolver)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectconvert(javax.jms.Message message)GenericJmsConsumerConfigurationgetConfiguration()java.lang.StringgetConfiguredResourceId()org.ikasan.spec.event.EventFactorygetEventFactory()booleanisActive()booleanisRunning()Is the underlying JMS actively runningvoidonException(java.lang.Throwable jmsException)Callback method from the JMS connector for exception reporting.voidonMessage(javax.jms.Message message)Callback method from the underlying JMS tech.voidonResubmission(javax.jms.Message event)voidsetConfiguration(GenericJmsConsumerConfiguration configuration)voidsetConfiguredResourceId(java.lang.String configuredResourceId)voidsetEventFactory(org.ikasan.spec.event.EventFactory flowEventFactory)voidsetListener(org.ikasan.spec.event.EventListener eventListener)Set the consumer event listenervoidsetManagedIdentifierService(org.ikasan.spec.event.ManagedRelatedEventIdentifierService managedEventIdentifierService)Override the default consumer event life identifier servicevoidsetMessageListener(javax.jms.MessageListener messageListener)voidsetResubmissionEventFactory(org.ikasan.spec.resubmission.ResubmissionEventFactory resubmissionEventFactory)voidstart()Start the underlying JMSvoidstop()Stop the underlying JMS
-
-
-
Field Detail
-
connectionFactory
protected javax.jms.ConnectionFactory connectionFactory
JMS Connection Factory
-
destination
protected javax.jms.Destination destination
JMS Destination instance
-
connection
protected javax.jms.Connection connection
JMS Connection
-
session
protected javax.jms.Session session
session has to be closed prior to connection being closed
-
flowEventFactory
protected org.ikasan.spec.event.EventFactory<org.ikasan.spec.flow.FlowEvent<?,?>> flowEventFactory
consumer event factory
-
eventListener
protected org.ikasan.spec.event.EventListener eventListener
consumer event listener
-
managedEventIdentifierService
protected org.ikasan.spec.event.ManagedRelatedEventIdentifierService<?,javax.jms.Message> managedEventIdentifierService
default event identifier service - can be overridden via the setter
-
configuredResourceId
protected java.lang.String configuredResourceId
configured resource id
-
configuration
protected GenericJmsConsumerConfiguration configuration
JMS consumer configuration - default to vanilla instance
-
messageListener
protected javax.jms.MessageListener messageListener
tech endpoint listener for callbacks from the endpoint
-
destinationResolver
protected DestinationResolver destinationResolver
destination resolver for locating and returning the configured destination instance
-
messageConsumer
protected javax.jms.MessageConsumer messageConsumer
session message consumer
-
resubmissionEventFactory
protected org.ikasan.spec.resubmission.ResubmissionEventFactory<org.ikasan.spec.event.Resubmission> resubmissionEventFactory
resubmission event factory
-
-
Constructor Detail
-
GenericJmsConsumer
public GenericJmsConsumer()
Default constructor
-
GenericJmsConsumer
public GenericJmsConsumer(javax.jms.ConnectionFactory connectionFactory, javax.jms.Destination destination)Constructor- Parameters:
connectionFactory-destination-
-
GenericJmsConsumer
public GenericJmsConsumer(javax.jms.ConnectionFactory connectionFactory, DestinationResolver destinationResolver)Constructor- Parameters:
connectionFactory-destinationResolver-
-
-
Method Detail
-
setMessageListener
public void setMessageListener(javax.jms.MessageListener messageListener)
-
setEventFactory
public void setEventFactory(org.ikasan.spec.event.EventFactory flowEventFactory)
- Specified by:
setEventFactoryin interfaceorg.ikasan.spec.component.endpoint.Consumer<org.ikasan.spec.event.EventListener<?>,org.ikasan.spec.event.EventFactory>
-
start
public void start()
Start the underlying JMS- Specified by:
startin interfaceorg.ikasan.spec.component.endpoint.Consumer<org.ikasan.spec.event.EventListener<?>,org.ikasan.spec.event.EventFactory>
-
isActive
public boolean isActive()
- Specified by:
isActivein interfaceorg.ikasan.spec.component.endpoint.EndpointListener<javax.jms.Message,java.lang.Throwable>
-
stop
public void stop()
Stop the underlying JMS- Specified by:
stopin interfaceorg.ikasan.spec.component.endpoint.Consumer<org.ikasan.spec.event.EventListener<?>,org.ikasan.spec.event.EventFactory>
-
isRunning
public boolean isRunning()
Is the underlying JMS actively running- Specified by:
isRunningin interfaceorg.ikasan.spec.component.endpoint.Consumer<org.ikasan.spec.event.EventListener<?>,org.ikasan.spec.event.EventFactory>- Returns:
- boolean
-
setListener
public void setListener(org.ikasan.spec.event.EventListener eventListener)
Set the consumer event listener- Specified by:
setListenerin interfaceorg.ikasan.spec.component.endpoint.Consumer<org.ikasan.spec.event.EventListener<?>,org.ikasan.spec.event.EventFactory>- Parameters:
eventListener-
-
setManagedIdentifierService
public void setManagedIdentifierService(org.ikasan.spec.event.ManagedRelatedEventIdentifierService managedEventIdentifierService)
Override the default consumer event life identifier service- Specified by:
setManagedIdentifierServicein interfaceorg.ikasan.spec.management.ManagedIdentifierService<org.ikasan.spec.event.ManagedRelatedEventIdentifierService>- Parameters:
managedEventIdentifierService-
-
onMessage
public void onMessage(javax.jms.Message message)
Callback method from the underlying JMS tech. On invocation this method creates a flowEvent from the tech specific message and invokes the event listener.- Specified by:
onMessagein interfaceorg.ikasan.spec.component.endpoint.EndpointListener<javax.jms.Message,java.lang.Throwable>- Specified by:
onMessagein interfacejavax.jms.MessageListener
-
onResubmission
public void onResubmission(javax.jms.Message event)
- Specified by:
onResubmissionin interfaceorg.ikasan.spec.resubmission.ResubmissionService<javax.jms.Message>
-
setResubmissionEventFactory
public void setResubmissionEventFactory(org.ikasan.spec.resubmission.ResubmissionEventFactory resubmissionEventFactory)
- Specified by:
setResubmissionEventFactoryin interfaceorg.ikasan.spec.resubmission.ResubmissionService<javax.jms.Message>
-
convert
public java.lang.Object convert(javax.jms.Message message) throws org.ikasan.spec.component.transformation.TransformationException- Specified by:
convertin interfaceorg.ikasan.spec.component.transformation.Converter<javax.jms.Message,java.lang.Object>- Throws:
org.ikasan.spec.component.transformation.TransformationException
-
onException
public void onException(java.lang.Throwable jmsException)
Callback method from the JMS connector for exception reporting.- Specified by:
onExceptionin interfaceorg.ikasan.spec.component.endpoint.EndpointListener<javax.jms.Message,java.lang.Throwable>- Parameters:
jmsException-
-
getConfiguration
public GenericJmsConsumerConfiguration getConfiguration()
- Specified by:
getConfigurationin interfaceorg.ikasan.spec.configuration.Configured<GenericJmsConsumerConfiguration>
-
getConfiguredResourceId
public java.lang.String getConfiguredResourceId()
- Specified by:
getConfiguredResourceIdin interfaceorg.ikasan.spec.configuration.ConfiguredResource<GenericJmsConsumerConfiguration>
-
setConfiguration
public void setConfiguration(GenericJmsConsumerConfiguration configuration)
- Specified by:
setConfigurationin interfaceorg.ikasan.spec.configuration.Configured<GenericJmsConsumerConfiguration>
-
setConfiguredResourceId
public void setConfiguredResourceId(java.lang.String configuredResourceId)
- Specified by:
setConfiguredResourceIdin interfaceorg.ikasan.spec.configuration.ConfiguredResource<GenericJmsConsumerConfiguration>
-
getEventFactory
public org.ikasan.spec.event.EventFactory getEventFactory()
- Specified by:
getEventFactoryin interfaceorg.ikasan.spec.component.endpoint.Consumer<org.ikasan.spec.event.EventListener<?>,org.ikasan.spec.event.EventFactory>
-
-