You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Guillaume Nodet (JIRA)" <ji...@apache.org> on 2006/12/15 08:51:02 UTC

[jira] Commented: (SM-778) JCAFlow stopped working after updating to 3.1 snapshot

    [ 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! org.apache.activemq.ra.LocalAndXATransaction@8a1a0c
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 = org.apache.activemq.util.ByteSequence@d75863, 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