public class StandardJmsActivationSpecFactory extends Object implements JmsActivationSpecFactory
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.
setActivationSpecClass(java.lang.Class<?>)
,
DefaultJmsActivationSpecFactory
Constructor and Description |
---|
StandardJmsActivationSpecFactory() |
Modifier and Type | Method and Description |
---|---|
protected void |
applyAcknowledgeMode(BeanWrapper bw,
int ackMode)
Apply the specified acknowledge mode to the ActivationSpec object.
|
ActivationSpec |
createActivationSpec(ResourceAdapter adapter,
JmsActivationSpecConfig config)
Create a JCA 1.5 ActivationSpec object based on the given
JmsActivationSpecConfig object. |
protected Class<?> |
determineActivationSpecClass(ResourceAdapter adapter)
Determine the ActivationSpec class for the given ResourceAdapter,
if possible.
|
DestinationResolver |
getDestinationResolver()
Return the
DestinationResolver to use for resolving destinations names. |
protected void |
populateActivationSpecProperties(BeanWrapper bw,
JmsActivationSpecConfig config)
Populate the given ApplicationSpec object with the settings
defined in the given configuration object.
|
void |
setActivationSpecClass(Class<?> activationSpecClass)
Specify the fully-qualified ActivationSpec class name for the target
provider (e.g.
|
void |
setDefaultProperties(Map<String,String> 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.
|
public void setActivationSpecClass(Class<?> activationSpecClass)
public void setDefaultProperties(Map<String,String> defaultProperties)
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)
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
.
public DestinationResolver getDestinationResolver()
DestinationResolver
to use for resolving destinations names.public ActivationSpec createActivationSpec(ResourceAdapter adapter, JmsActivationSpecConfig config)
JmsActivationSpecFactory
JmsActivationSpecConfig
object.createActivationSpec
in interface JmsActivationSpecFactory
adapter
- the ResourceAdapter to create an ActivationSpec object forconfig
- the configured object holding common JMS settingsprotected Class<?> determineActivationSpecClass(ResourceAdapter adapter)
adapter
- the ResourceAdapter to checknull
if not determinablesetActivationSpecClass(java.lang.Class<?>)
protected void populateActivationSpecProperties(BeanWrapper bw, JmsActivationSpecConfig config)
This implementation applies all standard JMS settings, but ignores "maxConcurrency" and "prefetchSize" - not supported in standard JCA 1.5.
bw
- the BeanWrapper wrapping the ActivationSpec objectconfig
- the configured object holding common JMS settingsprotected void applyAcknowledgeMode(BeanWrapper bw, int ackMode)
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.
bw
- the BeanWrapper wrapping the ActivationSpec objectackMode
- the configured acknowledge mode
(according to the constants in Session
Session.AUTO_ACKNOWLEDGE
,
Session.DUPS_OK_ACKNOWLEDGE
,
Session.CLIENT_ACKNOWLEDGE
,
Session.SESSION_TRANSACTED