Class GenericJmsProducer<T>

  • All Implemented Interfaces:
    org.ikasan.spec.component.endpoint.Producer<T>, org.ikasan.spec.configuration.Configured<GenericJmsProducerConfiguration>, org.ikasan.spec.configuration.ConfiguredResource<GenericJmsProducerConfiguration>, org.ikasan.spec.management.ManagedIdentifierService<org.ikasan.spec.event.ManagedEventIdentifierService>, org.ikasan.spec.management.ManagedResource

    public class GenericJmsProducer<T>
    extends java.lang.Object
    implements org.ikasan.spec.component.endpoint.Producer<T>, org.ikasan.spec.management.ManagedIdentifierService<org.ikasan.spec.event.ManagedEventIdentifierService>, org.ikasan.spec.management.ManagedResource, org.ikasan.spec.configuration.ConfiguredResource<GenericJmsProducerConfiguration>
    Implementation of a producer based on the JMS specification.
    Author:
    Ikasan Development Team
    • 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
      • configuredResourceId

        protected java.lang.String configuredResourceId
        configured resource id
      • managedEventIdentifierService

        protected org.ikasan.spec.event.ManagedEventIdentifierService<java.lang.String,​javax.jms.Message> managedEventIdentifierService
        default event identifier service - can be overridden via the setter
      • session

        protected javax.jms.Session session
        session has to be closed prior to connection being closed
      • isCriticalOnStartup

        protected boolean isCriticalOnStartup
        determines whether this managed resource failure will fail the startup of the flow
      • destinationResolver

        protected DestinationResolver destinationResolver
        destination resolver for locating and returning the configured destination instance
      • postProcessor

        protected PostProcessor postProcessor
        post processing operations on the JMS message before being sent over the wire
      • stringToMessageConverter

        protected org.ikasan.spec.component.transformation.Converter<java.lang.String,​javax.jms.TextMessage> stringToMessageConverter
        Incoming object to JMS message converters.
      • mapToMessageConverter

        protected org.ikasan.spec.component.transformation.Converter<java.util.Map<java.lang.String,​java.lang.Object>,​javax.jms.Message> mapToMessageConverter
      • byteArrayToMessageConverter

        protected org.ikasan.spec.component.transformation.Converter<byte[],​javax.jms.Message> byteArrayToMessageConverter
      • serializableToMessageConverter

        protected org.ikasan.spec.component.transformation.Converter<java.io.Serializable,​javax.jms.Message> serializableToMessageConverter
    • Constructor Detail

      • GenericJmsProducer

        public GenericJmsProducer()
        Constructor.
      • GenericJmsProducer

        public GenericJmsProducer​(javax.jms.ConnectionFactory connectionFactory,
                                  javax.jms.Destination destination)
        Constructor.
        Parameters:
        connectionFactory -
        destination -
      • GenericJmsProducer

        public GenericJmsProducer​(javax.jms.ConnectionFactory connectionFactory,
                                  DestinationResolver destinationResolver)
        Constructor.
        Parameters:
        connectionFactory -
        destinationResolver -
    • Method Detail

      • convertToMessage

        protected javax.jms.Message convertToMessage​(java.lang.Object object)
      • invoke

        public void invoke​(T message)
                    throws org.ikasan.spec.component.endpoint.EndpointException
        Specified by:
        invoke in interface org.ikasan.spec.component.endpoint.Producer<T>
        Throws:
        org.ikasan.spec.component.endpoint.EndpointException
      • setPostProcessor

        public void setPostProcessor​(PostProcessor postProcessor)
        Allow the setting of a custom message property provider.
        Parameters:
        postProcessor -
      • setManagedIdentifierService

        public void setManagedIdentifierService​(org.ikasan.spec.event.ManagedEventIdentifierService managedEventIdentifierService)
        Override the default producer event life identifier service
        Specified by:
        setManagedIdentifierService in interface org.ikasan.spec.management.ManagedIdentifierService<T>
        Parameters:
        managedEventIdentifierService -
      • getConfiguration

        public GenericJmsProducerConfiguration getConfiguration()
        Specified by:
        getConfiguration in interface org.ikasan.spec.configuration.Configured<T>
      • getConfiguredResourceId

        public java.lang.String getConfiguredResourceId()
        Specified by:
        getConfiguredResourceId in interface org.ikasan.spec.configuration.ConfiguredResource<T>
      • setConfiguration

        public void setConfiguration​(GenericJmsProducerConfiguration configuration)
        Specified by:
        setConfiguration in interface org.ikasan.spec.configuration.Configured<T>
      • setConfiguredResourceId

        public void setConfiguredResourceId​(java.lang.String configuredResourceId)
        Specified by:
        setConfiguredResourceId in interface org.ikasan.spec.configuration.ConfiguredResource<T>
      • startManagedResource

        public void startManagedResource()
        Specified by:
        startManagedResource in interface org.ikasan.spec.management.ManagedResource
      • stopManagedResource

        public void stopManagedResource()
        Specified by:
        stopManagedResource in interface org.ikasan.spec.management.ManagedResource
      • isCriticalOnStartup

        public boolean isCriticalOnStartup()
        Specified by:
        isCriticalOnStartup in interface org.ikasan.spec.management.ManagedResource
      • setCriticalOnStartup

        public void setCriticalOnStartup​(boolean isCriticalOnStartup)
        Specified by:
        setCriticalOnStartup in interface org.ikasan.spec.management.ManagedResource
      • setManagedResourceRecoveryManager

        public void setManagedResourceRecoveryManager​(org.ikasan.spec.management.ManagedResourceRecoveryManager managedResourceRecoveryManager)
        Specified by:
        setManagedResourceRecoveryManager in interface org.ikasan.spec.management.ManagedResource
      • getPayload

        protected java.lang.Object getPayload​(java.lang.Object message)
        Extract the payload based on event coming in.
        Parameters:
        message -
        Returns: