public class

StandardJmsActivationSpecFactory

extends Object
implements JmsActivationSpecFactory
java.lang.Object
   ↳ org.springframework.jms.listener.endpoint.StandardJmsActivationSpecFactory
Known Direct Subclasses

Class Overview

Standard implementation of the JmsActivationSpecFactory interface. Supports the standard JMS properties as defined by the JMS 1.5 specification (Appendix B); ignores Spring's "maxConcurrency" and "prefetchSize" settings.

The 'activationSpecClass' property is required, explicitly defining the fully-qualified class name of the provider's ActivationSpec class (e.g. "org.apache.activemq.ra.ActiveMQActivationSpec").

Check out DefaultJmsActivationSpecFactory for an extended variant of this class, supporting some further default conventions beyond the plain JMS 1.5 specification.

Summary

Public Constructors
StandardJmsActivationSpecFactory()
Public Methods
ActivationSpec createActivationSpec(ResourceAdapter adapter, JmsActivationSpecConfig config)
Create a JCA 1.5 ActivationSpec object based on the given JmsActivationSpecConfig object.
void setActivationSpecClass(Class activationSpecClass)
Specify the fully-qualified ActivationSpec class name for the target provider (e.g.
void setDefaultProperties(Map<StringString> defaultProperties)
Specify custom default properties, with String keys and String values.
void setDestinationResolver(DestinationResolver destinationResolver)
Set the DestinationResolver to use for resolving destination names into the JCA 1.5 ActivationSpec "destination" property.
Protected Methods
void applyAcknowledgeMode(BeanWrapper bw, int ackMode)
Apply the specified acknowledge mode to the ActivationSpec object.
Class determineActivationSpecClass(ResourceAdapter adapter)
Determine the ActivationSpec class for the given ResourceAdapter, if possible.
void populateActivationSpecProperties(BeanWrapper bw, JmsActivationSpecConfig config)
Populate the given ApplicationSpec object with the settings defined in the given configuration object.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.jms.listener.endpoint.JmsActivationSpecFactory

Public Constructors

public StandardJmsActivationSpecFactory ()

Public Methods

public ActivationSpec createActivationSpec (ResourceAdapter adapter, JmsActivationSpecConfig config)

Create a JCA 1.5 ActivationSpec object based on the given JmsActivationSpecConfig object.

Parameters
adapter the ResourceAdapter to create an ActivationSpec object for
config the configured object holding common JMS settings
Returns
  • the provider-specific JCA ActivationSpec object, representing the same settings

public void setActivationSpecClass (Class activationSpecClass)

Specify the fully-qualified ActivationSpec class name for the target provider (e.g. "org.apache.activemq.ra.ActiveMQActivationSpec").

public void setDefaultProperties (Map<StringString> defaultProperties)

Specify custom default properties, with String keys and String values.

Applied to each ActivationSpec object before it gets populated with listener-specific settings. Allows for configuring vendor-specific properties beyond the Spring-defined settings in JmsActivationSpecConfig.

public void setDestinationResolver (DestinationResolver destinationResolver)

Set the DestinationResolver to use for resolving destination names into the JCA 1.5 ActivationSpec "destination" property.

If not specified, destination names will simply be passed in as Strings. If specified, destination names will be resolved into Destination objects first.

Note that a DestinationResolver for use with this factory must be able to work without an active JMS Session: e.g. JndiDestinationResolver or BeanFactoryDestinationResolver but not DynamicDestinationResolver.

Protected Methods

protected void applyAcknowledgeMode (BeanWrapper bw, int ackMode)

Apply the specified acknowledge mode to the ActivationSpec object.

This implementation applies the standard JCA 1.5 acknowledge modes "Auto-acknowledge" and "Dups-ok-acknowledge". It throws an exception in case of CLIENT_ACKNOWLEDGE or SESSION_TRANSACTED having been requested.

Parameters
bw the BeanWrapper wrapping the ActivationSpec object
ackMode the configured acknowledge mode (according to the constants in javax.jms.Session
See Also
  • javax.jms.Session#AUTO_ACKNOWLEDGE
  • javax.jms.Session#DUPS_OK_ACKNOWLEDGE
  • javax.jms.Session#CLIENT_ACKNOWLEDGE
  • javax.jms.Session#SESSION_TRANSACTED

protected Class determineActivationSpecClass (ResourceAdapter adapter)

Determine the ActivationSpec class for the given ResourceAdapter, if possible. Called if no 'activationSpecClass' has been set explicitly

Parameters
adapter the ResourceAdapter to check
Returns
  • the corresponding ActivationSpec class, or null if not determinable

protected void populateActivationSpecProperties (BeanWrapper bw, JmsActivationSpecConfig config)

Populate the given ApplicationSpec object with the settings defined in the given configuration object.

This implementation applies all standard JMS settings, but ignores "maxConcurrency" and "prefetchSize" - not supported in standard JCA 1.5.

Parameters
bw the BeanWrapper wrapping the ActivationSpec object
config the configured object holding common JMS settings