JCAFlow stopped working after updating to 3.1 snapshot
------------------------------------------------------
Key: SM-778
URL: https://issues.apache.org/activemq/browse/SM-778
Project: ServiceMix
Issue Type: Bug
Components: servicemix-core
Affects Versions: 3.1
Reporter: William Blackburn
Attachments: entire-run.log, just-the-msg.log
After successfully using JCA flow in the 3.0.x builds, I am testing using the
latest 3.1 snapshot. It seems that something has changed regarding JCA flow. I
introduce my messages using JMSInUsingJCABinding with a destination service set
to another servicemix 'pojo' component. With the log set to debug, I can see my
binding component receiving the message and sending it to the other component,
but the other component never receives the message. There is quite a bit of
logging in this destination component, but as you can see from the snippet
below, everything stops after the call to JCAFlow:send
Full log with amq in debug attached
Log Snippet:
pool-1-thread-4 2006-12-14 12:02:59,733 DEBUG [JmsInBinding:onMessage]
Received: ActiveMQTextMessage {commandId = 6, responseRequired = true,
messageId = ID:fastgt.local-50100-1166126505325-3:33:1:1:1, originalDestination
= null, originalTransactionId = null, producerId =
ID:fastgt.local-50100-1166126505325-3:33:1:1, destination =
topic://com.clairmail.node.message.in, transactionId = null, expiration = 0,
timestamp = 1166126579696, arrival = 0, correlationId = null, replyTo = null,
persistent = true, type = null, priority = 4, groupID = null, groupSequence =
0, targetConsumerId = null, compressed = false, userID = null, content = [EMAIL
PROTECTED], marshalledProperties = null, dataStructure = null,
redeliveryCounter = 0, size = 0, properties = null, readOnlyProperties = true,
readOnlyBody = true, droppable = false, text = null}
pool-1-thread-4 2006-12-14 12:02:59,752 DEBUG
[DeliveryChannelImpl:createExchangeFactory] default destination serviceName for
jmsRequestInBinding = {http://mobile.clairmail.com}request-processor
pool-1-thread-4 2006-12-14 12:02:59,775 DEBUG [DeliveryChannelImpl:send] Send
ID:fastgt.local-50105-1166126512467-3:0 in DeliveryChannel{jmsRequestInBinding}
pool-1-thread-4 2006-12-14 12:02:59,871 DEBUG [DeliveryChannelImpl:doSend]
Sent: InOnly[
id: ID:fastgt.local-50105-1166126512467-3:0
status: Active
role: consumer
service: {http://mobile.clairmail.com}request-processor
in: <?xml version="1.0" encoding="UTF-8"?>
<cm:in-message version="1.0" xmlns:cm="http://mobile.clairmail.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://mobile.clairmail.com cmInMessage.xsd"><content
deleted for brevity></cm:in-message>
]
pool-1-thread-4 2006-12-14 12:02:59,903 INFO
[MessageExchangeAuditor:exchangeSent] Exchange sent to
{http://mobile.clairmail.com}request-processor has status Active
pool-1-thread-4 2006-12-14 12:02:59,907 DEBUG [DefaultBroker:resolveAddress]
Routing exchange InOnly[
id: ID:fastgt.local-50105-1166126512467-3:0
status: Active
role: provider
service: {http://mobile.clairmail.com}request-processor
endpoint: requestProcessor
in: <?xml version="1.0" encoding="UTF-8"?>
<cm:in-message version="1.0" xmlns:cm="http://mobile.clairmail.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://mobile.clairmail.com cmInMessage.xsd"><content
deleted for brevity></cm:in-message>
] to:
ServiceEndpoint[service={http://mobile.clairmail.com}request-processor,endpoint=requestProcessor]
pool-1-thread-4 2006-12-14 12:02:59,910 DEBUG [JCAFlow:send] Called Flow send
My container and flows are declared as:
<sm:container id="jbi" name="${smix.container.name}" rootDir="#rootDir"
useMBeanServer="true"
createMBeanServer="false" createJmxConnector="false"
installationDirPath="#installDir"
deploymentDirPath="#deployDir" autoEnlistInTransaction="true"
persistent="true"
monitorInstallationDirectory="true"
transactionManager="#transactionManager" depends-on="broker">
<sm:flows>
<!-- <sm:jmsFlow jmsURL="${smix.amq.broker.uri}"/> -->
<sm:jcaFlow connectionManager="#connectionManager"
jmsURL="${smix.amq.broker.uri}"/>
</sm:flows>
The binding component looks like:
<sm:activationSpec componentName="jmsRequestInBinding"
service="cm:jms-request-in-binding"
destinationService="cm:request-processor">
<sm:component>
<bean
class="org.apache.servicemix.components.jms.JmsInUsingJCABinding">
<property name="jcaContainer" ref="jencks"/>
<property name="activationSpec">
<bean
class="org.apache.activemq.ra.ActiveMQActivationSpec">
<!-- The variable (receiver.in.topic) is replaced
at runtime using the
PropertyPlaceholderConfigurer defined in this
config file -->
<property name="destination"
value="${smix.request.in.topic}"/>
<property name="destinationType"
value="javax.jms.Topic"/>
</bean>
</property>
</bean>
</sm:component>
</sm:activationSpec>
My Jencks config looks like:
<!-- Transaction manager -->
<jencks:transactionManager id="transactionManager"
transactionLogDir="#dataDir" defaultTransactionTimeoutSeconds="600" />
<!-- Work manager -->
<jencks:workManager id="workManager" threadPoolSize="200"
transactionManager="#transactionManager" />
<!-- Bootstrap context for JCA -->
<jencks:bootstrapContext id="bootstrapContext"
workManager="#workManager" transactionManager="#transactionManager" />
<!-- Connection manager for JCA -->
<jencks:connectionTracker id="connectionTracker"
geronimoTransactionManager="#transactionManager" />
<jencks:poolingSupport id="poolingSupport" />
<jencks:connectionManager id="connectionManager"
containerManagedSecurity="false" transaction="xa"
transactionManager="#transactionManager"
poolingSupport="#poolingSupport" connectionTracker="#connectionTracker" />
<bean id="jencks" class="org.jencks.JCAContainer" singleton="true">
<property name="bootstrapContext" ref="bootstrapContext"/>
<!-- the JCA Resource Adapter -->
<property name="resourceAdapter">
<bean id="activeMQResourceAdapter"
class="org.apache.activemq.ra.ActiveMQResourceAdapter"
singleton="true">
<property name="serverUrl"
value="${smix.amq.broker.uri}" />
</bean>
</property>
</bean>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira