[ https://issues.apache.org/activemq/browse/SM-778?page=comments#action_37687 ] Guillaume Nodet commented on SM-778: ------------------------------------
You have already isolated the problem. The exception java.lang.IllegalStateException: Cannot log transactions unles XAResources are named! [EMAIL PROTECTED] is thrown by the TransactionManager. As a workaround, you could disable the HowLog transaction log, but I will try to find a fix. > 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
