@VisitBeforeIf(condition="parameters.containsKey(\'executeBefore\') && parameters.executeBefore.value == \'true\'") @VisitAfterIf(condition="!parameters.containsKey(\'executeBefore\') || parameters.executeBefore.value != \'true\'") public class JMSRouter extends Object implements org.milyn.delivery.dom.DOMElementVisitor, org.milyn.delivery.sax.SAXVisitBefore, org.milyn.delivery.sax.SAXVisitAfter, org.milyn.delivery.ordering.Consumer
<resource-config selector="orderItems">
<resource>org.milyn.routing.jms.JMSRouter</resource>
<param name="beanId">beanId</param>
<param name="destinationName">/queue/smooksRouterQueue</param>
</resource-config>
....
Optional parameters:
<param name="executeBefore">true</param>
<param name="jndiContextFactory">ConnectionFactory</param>
<param name="jndiProviderUrl">jnp://localhost:1099</param>
<param name="jndiNamingFactory">org.jboss.naming:java.naming.factory.url.pkgs=org.jnp.interfaces</param>
<param name="connectionFactory">ConnectionFactory</param>
<param name="deliveryMode">persistent</param>
<param name="priority">10</param>
<param name="timeToLive">100000</param>
<param name="securityPrincipal">username</param>
<param name="securityCredential">password</param>
<param name="acknowledgeMode">AUTO_ACKNOWLEDGE</param>
<param name="transacted">false</param>
<param name="correlationIdPattern">orderitem-${order.orderId}-${order.orderItem.itemId}</param>
<param name="messageType">ObjectMessage</param>
<param name="highWaterMark">50</param>
<param name="highWaterMarkTimeout">5000</param>
<param name="highWaterMarkPollFrequency">500</param>
Description of configuration properties:
| Constructor and Description |
|---|
JMSRouter() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
close(javax.jms.Connection connection) |
protected void |
close(javax.jms.Session session) |
boolean |
consumes(Object object) |
protected javax.jms.MessageProducer |
createMessageProducer(javax.jms.Destination destination,
Context context) |
String |
getAcknowledgeMode() |
String |
getConnectionFactoryName() |
String |
getDeliveryMode() |
javax.jms.Destination |
getDestination() |
String |
getDestinationName() |
String |
getJndiContextFactory() |
String |
getJndiNamingFactoryUrl() |
String |
getJndiProviderUrl() |
int |
getPriority() |
String |
getSecurityCredential() |
String |
getSecurityPrincipal() |
long |
getTimeToLive() |
void |
initialize() |
boolean |
isTransacted() |
protected void |
sendMessage(javax.jms.Message message) |
void |
setAcknowledgeMode(String jmsAcknowledgeMode) |
void |
setBeanId(String beanId) |
void |
setConnectionFactoryName(String connectionFactoryName) |
void |
setCorrelationIdPattern(String correlationIdPattern) |
void |
setDeliveryMode(String deliveryMode) |
void |
setDestinationName(String destinationName) |
void |
setHighWaterMark(int highWaterMark) |
void |
setHighWaterMarkPollFrequency(long highWaterMarkPollFrequency) |
void |
setHighWaterMarkTimeout(long highWaterMarkTimeout) |
void |
setJndiContextFactory(String contextFactory) |
void |
setJndiNamingFactoryUrl(String pkgUrl) |
void |
setJndiProperties(Properties properties) |
void |
setJndiProperties(String propertiesFile) |
void |
setJndiProviderUrl(String providerUrl) |
protected void |
setMessageProducerProperties()
Sets the following MessageProducer properties:
|
void |
setMessageType(String messageType) |
void |
setMsgCreationStrategy(MessageCreationStrategy msgCreationStrategy) |
void |
setPriority(int priority) |
void |
setSecurityCredential(String securityCredential) |
void |
setSecurityPrincipal(String securityPrincipal) |
void |
setTimeToLive(long timeToLive) |
void |
setTransacted(boolean transacted) |
void |
uninitialize() |
void |
visitAfter(Element element,
org.milyn.container.ExecutionContext execContext) |
void |
visitAfter(org.milyn.delivery.sax.SAXElement element,
org.milyn.container.ExecutionContext execContext) |
void |
visitBefore(Element element,
org.milyn.container.ExecutionContext execContext) |
void |
visitBefore(org.milyn.delivery.sax.SAXElement element,
org.milyn.container.ExecutionContext execContext) |
@Initialize
public void initialize()
throws org.milyn.cdr.SmooksConfigurationException,
javax.jms.JMSException
org.milyn.cdr.SmooksConfigurationExceptionjavax.jms.JMSException@Uninitialize
public void uninitialize()
throws javax.jms.JMSException
javax.jms.JMSExceptionpublic boolean consumes(Object object)
consumes in interface org.milyn.delivery.ordering.Consumerpublic void setBeanId(String beanId)
public void setCorrelationIdPattern(String correlationIdPattern)
public void setHighWaterMark(int highWaterMark)
public void setHighWaterMarkTimeout(long highWaterMarkTimeout)
public void setHighWaterMarkPollFrequency(long highWaterMarkPollFrequency)
@ConfigParam(use=OPTIONAL) public void setJndiContextFactory(String contextFactory)
@ConfigParam(use=OPTIONAL) public void setJndiProperties(String propertiesFile)
public void setJndiProperties(Properties properties)
@ConfigParam(use=OPTIONAL) public void setJndiProviderUrl(String providerUrl)
@ConfigParam(use=OPTIONAL) public void setJndiNamingFactoryUrl(String pkgUrl)
@ConfigParam(use=REQUIRED) public void setDestinationName(String destinationName)
@ConfigParam(choice={"persistent","non-persistent"},
defaultVal="persistent",
use=OPTIONAL)
public void setDeliveryMode(String deliveryMode)
@ConfigParam(use=OPTIONAL) public void setTimeToLive(long timeToLive)
@ConfigParam(use=OPTIONAL) public void setSecurityPrincipal(String securityPrincipal)
@ConfigParam(use=OPTIONAL) public void setSecurityCredential(String securityCredential)
@ConfigParam(use=OPTIONAL,
defaultVal="false")
public void setTransacted(boolean transacted)
@ConfigParam(defaultVal="ConnectionFactory",
use=OPTIONAL)
public void setConnectionFactoryName(String connectionFactoryName)
@ConfigParam(use=OPTIONAL) public void setPriority(int priority)
@ConfigParam(defaultVal="AUTO_ACKNOWLEDGE",
choice={"AUTO_ACKNOWLEDGE","CLIENT_ACKNOWLEDGE","DUPS_OK_ACKNOWLEDGE"})
public void setAcknowledgeMode(String jmsAcknowledgeMode)
@ConfigParam(defaultVal="TextMessage",
choice={"TextMessage","ObjectMessage"})
public void setMessageType(String messageType)
public void visitAfter(Element element, org.milyn.container.ExecutionContext execContext) throws org.milyn.SmooksException
visitAfter in interface org.milyn.delivery.dom.DOMVisitAfterorg.milyn.SmooksExceptionpublic void visitBefore(Element element, org.milyn.container.ExecutionContext execContext) throws org.milyn.SmooksException
visitBefore in interface org.milyn.delivery.dom.DOMVisitBeforeorg.milyn.SmooksExceptionpublic void visitAfter(org.milyn.delivery.sax.SAXElement element,
org.milyn.container.ExecutionContext execContext)
throws org.milyn.SmooksException,
IOException
visitAfter in interface org.milyn.delivery.sax.SAXVisitAfterorg.milyn.SmooksExceptionIOExceptionpublic void visitBefore(org.milyn.delivery.sax.SAXElement element,
org.milyn.container.ExecutionContext execContext)
throws org.milyn.SmooksException,
IOException
visitBefore in interface org.milyn.delivery.sax.SAXVisitBeforeorg.milyn.SmooksExceptionIOExceptionprotected javax.jms.MessageProducer createMessageProducer(javax.jms.Destination destination,
Context context)
throws javax.jms.JMSException
javax.jms.JMSExceptionprotected void setMessageProducerProperties()
throws org.milyn.cdr.SmooksConfigurationException
Subclasses may override this behaviour.
org.milyn.cdr.SmooksConfigurationExceptionprotected void sendMessage(javax.jms.Message message)
throws SmooksRoutingException
SmooksRoutingExceptionprotected void close(javax.jms.Connection connection)
protected void close(javax.jms.Session session)
public javax.jms.Destination getDestination()
public String getJndiContextFactory()
public String getJndiProviderUrl()
public String getJndiNamingFactoryUrl()
public String getDestinationName()
public String getDeliveryMode()
public long getTimeToLive()
public String getSecurityPrincipal()
public String getSecurityCredential()
public boolean isTransacted()
public String getConnectionFactoryName()
public int getPriority()
public String getAcknowledgeMode()
public void setMsgCreationStrategy(MessageCreationStrategy msgCreationStrategy)
Copyright © 2016. All rights reserved.