[ https://issues.apache.org/activemq/browse/SM-778?page=all ]
Guillaume Nodet resolved SM-778.
--------------------------------
Fix Version/s: 3.1
Resolution: Fixed
Assignee: Guillaume Nodet
Fixed in trunk: http://svn.apache.org/viewvc?view=rev&revision=487499
> 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
> Assigned To: Guillaume Nodet
> Fix For: 3.1
>
> 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