org.springframework.jms.listener.endpoint
Class JmsActivationSpecConfig

java.lang.Object
  extended by org.springframework.jms.listener.endpoint.JmsActivationSpecConfig

public class JmsActivationSpecConfig
extends java.lang.Object

Common configuration object for activating a JMS message endpoint. Gets converted into a provider-specific JCA 1.5 ActivationSpec object for activating the endpoint.

Typically used in combination with JmsMessageEndpointManager, but not tied to it.

Since:
2.5
Author:
Juergen Hoeller
See Also:
JmsActivationSpecFactory, JmsMessageEndpointManager.setActivationSpecConfig(org.springframework.jms.listener.endpoint.JmsActivationSpecConfig), javax.resource.spi.ResourceAdapter#endpointActivation

Field Summary
private  int acknowledgeMode
           
private  java.lang.String clientId
           
private  java.lang.String destinationName
           
private  java.lang.String durableSubscriptionName
           
private  int maxConcurrency
           
private  java.lang.String messageSelector
           
private  int prefetchSize
           
private  boolean pubSubDomain
           
private static Constants sessionConstants
          Constants instance for javax.jms.Session
private  boolean subscriptionDurable
           
 
Constructor Summary
JmsActivationSpecConfig()
           
 
Method Summary
 int getAcknowledgeMode()
          Return the JMS acknowledgement mode to use.
 java.lang.String getClientId()
           
 java.lang.String getDestinationName()
           
 java.lang.String getDurableSubscriptionName()
           
 int getMaxConcurrency()
          Return the maximum number of consumers/sessions to use.
 java.lang.String getMessageSelector()
           
 int getPrefetchSize()
          Return the maximum number of messages to load into a session.
 boolean isPubSubDomain()
           
 boolean isSubscriptionDurable()
           
 void setAcknowledgeMode(int acknowledgeMode)
          Set the JMS acknowledgement mode to use.
 void setAcknowledgeModeName(java.lang.String constantName)
          Set the JMS acknowledgement mode by the name of the corresponding constant in the JMS Session interface, e.g.
 void setClientId(java.lang.String clientId)
           
 void setConcurrency(java.lang.String concurrency)
          Specify concurrency limits via a "lower-upper" String, e.g.
 void setDestinationName(java.lang.String destinationName)
           
 void setDurableSubscriptionName(java.lang.String durableSubscriptionName)
           
 void setMaxConcurrency(int maxConcurrency)
          Specify the maximum number of consumers/sessions to use, effectively controlling the number of concurrent invocations on the target listener.
 void setMessageSelector(java.lang.String messageSelector)
           
 void setPrefetchSize(int prefetchSize)
          Specify the maximum number of messages to load into a session (a kind of batch size).
 void setPubSubDomain(boolean pubSubDomain)
           
 void setSubscriptionDurable(boolean subscriptionDurable)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sessionConstants

private static final Constants sessionConstants
Constants instance for javax.jms.Session


destinationName

private java.lang.String destinationName

pubSubDomain

private boolean pubSubDomain

subscriptionDurable

private boolean subscriptionDurable

durableSubscriptionName

private java.lang.String durableSubscriptionName

clientId

private java.lang.String clientId

messageSelector

private java.lang.String messageSelector

acknowledgeMode

private int acknowledgeMode

maxConcurrency

private int maxConcurrency

prefetchSize

private int prefetchSize
Constructor Detail

JmsActivationSpecConfig

public JmsActivationSpecConfig()
Method Detail

setDestinationName

public void setDestinationName(java.lang.String destinationName)

getDestinationName

public java.lang.String getDestinationName()

setPubSubDomain

public void setPubSubDomain(boolean pubSubDomain)

isPubSubDomain

public boolean isPubSubDomain()

setSubscriptionDurable

public void setSubscriptionDurable(boolean subscriptionDurable)

isSubscriptionDurable

public boolean isSubscriptionDurable()

setDurableSubscriptionName

public void setDurableSubscriptionName(java.lang.String durableSubscriptionName)

getDurableSubscriptionName

public java.lang.String getDurableSubscriptionName()

setClientId

public void setClientId(java.lang.String clientId)

getClientId

public java.lang.String getClientId()

setMessageSelector

public void setMessageSelector(java.lang.String messageSelector)

getMessageSelector

public java.lang.String getMessageSelector()

setAcknowledgeModeName

public void setAcknowledgeModeName(java.lang.String constantName)
Set the JMS acknowledgement mode by the name of the corresponding constant in the JMS Session interface, e.g. "CLIENT_ACKNOWLEDGE".

Note that JCA resource adapters generally only support auto and dups-ok (see Spring's StandardJmsActivationSpecFactory). ActiveMQ also supports "SESSION_TRANSACTED" in the form of RA-managed transactions (automatically translated by Spring's DefaultJmsActivationSpecFactory.

Parameters:
constantName - the name of the Session acknowledge mode constant
See Also:
javax.jms.Session#AUTO_ACKNOWLEDGE, javax.jms.Session#CLIENT_ACKNOWLEDGE, javax.jms.Session#DUPS_OK_ACKNOWLEDGE, javax.jms.Session#SESSION_TRANSACTED, StandardJmsActivationSpecFactory, DefaultJmsActivationSpecFactory

setAcknowledgeMode

public void setAcknowledgeMode(int acknowledgeMode)
Set the JMS acknowledgement mode to use.

See Also:
javax.jms.Session#AUTO_ACKNOWLEDGE, javax.jms.Session#CLIENT_ACKNOWLEDGE, javax.jms.Session#DUPS_OK_ACKNOWLEDGE, javax.jms.Session#SESSION_TRANSACTED

getAcknowledgeMode

public int getAcknowledgeMode()
Return the JMS acknowledgement mode to use.


setConcurrency

public void setConcurrency(java.lang.String concurrency)
Specify concurrency limits via a "lower-upper" String, e.g. "5-10", or a simple upper limit String, e.g. "10".

JCA listener containers will always scale from zero to the given upper limit. A specified lower limit will effectively be ignored.

This property is primarily supported for configuration compatibility with DefaultMessageListenerContainer. For this activation config, generally use setMaxConcurrency(int) instead.


setMaxConcurrency

public void setMaxConcurrency(int maxConcurrency)
Specify the maximum number of consumers/sessions to use, effectively controlling the number of concurrent invocations on the target listener.


getMaxConcurrency

public int getMaxConcurrency()
Return the maximum number of consumers/sessions to use.


setPrefetchSize

public void setPrefetchSize(int prefetchSize)
Specify the maximum number of messages to load into a session (a kind of batch size).


getPrefetchSize

public int getPrefetchSize()
Return the maximum number of messages to load into a session.