org.springframework.jms.listener.endpoint

## Class JmsMessageEndpointFactory

- java.lang.Object
- - org.springframework.jca.endpoint.AbstractMessageEndpointFactory
  - - org.springframework.jms.listener.endpoint.JmsMessageEndpointFactory

- All Implemented Interfaces:
    MessageEndpointFactory

      public class JmsMessageEndpointFactory
      extends AbstractMessageEndpointFactory

  JMS-specific implementation of the JCA 1.5 `MessageEndpointFactory` interface, providing transaction management capabilities for a JMS listener object (e.g. a `MessageListener` object).

  Uses a static endpoint implementation, simply wrapping the specified message listener object and exposing all of its implemented interfaces on the endpoint instance.

  Typically used with Spring's `JmsMessageEndpointManager`, but not tied to it. As a consequence, this endpoint factory could also be used with programmatic endpoint management on a native `ResourceAdapter` instance.

  Since:
    2.5
  Author:
    Juergen Hoeller
  See Also:
    `setMessageListener(javax.jms.MessageListener)`, `AbstractMessageEndpointFactory.setTransactionManager(java.lang.Object)`, `JmsMessageEndpointManager`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `JmsMessageEndpointFactory.JmsResourceException` Internal exception thrown when a ResourceException has been encountered during the endpoint invocation.

    - ### Nested classes/interfaces inherited from class org.springframework.jca.endpoint.AbstractMessageEndpointFactory

      `AbstractMessageEndpointFactory.AbstractMessageEndpoint`

  - ### Field Summary

    - ### Fields inherited from class org.springframework.jca.endpoint.AbstractMessageEndpointFactory

      `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JmsMessageEndpointFactory()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected AbstractMessageEndpointFactory.AbstractMessageEndpoint` | `createEndpointInternal()` Creates a concrete JMS message endpoint, internal to this factory.
    `void` | `setMessageListener(MessageListener messageListener)` Set the JMS MessageListener for this endpoint.

    - ### Methods inherited from class org.springframework.jca.endpoint.AbstractMessageEndpointFactory

      `createEndpoint, createEndpoint, isDeliveryTransacted, setTransactionFactory, setTransactionManager, setTransactionName, setTransactionTimeout`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JmsMessageEndpointFactory

          public JmsMessageEndpointFactory()

  - ### Method Detail

    - #### setMessageListener

          public void setMessageListener(MessageListener messageListener)

      Set the JMS MessageListener for this endpoint.

    - #### createEndpointInternal

          protected AbstractMessageEndpointFactory.AbstractMessageEndpoint createEndpointInternal()
                                                                                           throws UnavailableException

      Creates a concrete JMS message endpoint, internal to this factory.
      Specified by:
        `createEndpointInternal` in class `AbstractMessageEndpointFactory`
      Returns:
        the actual endpoint instance (never `null`)
      Throws:
        `UnavailableException` - if no endpoint is available at present