[
https://issues.apache.org/jira/browse/SYNAPSE-369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12608846#action_12608846
]
Tanmay saha commented on SYNAPSE-369:
-------------------------------------
Hi Andreas:
You are correct . serviceDestinationNameMapping is being populated with (
[[groupss]]TopicXA=echoProxy ) at the start up, but in the JMS Header of the
actual message , the destination name was "TopicXA" , so naturally the look up
failed. I did some work around in JMSConnectionFactory, which is something
like this , if the JMS Provider is Sonic MQ and if the destination name has
some prefix "[[groupprefix]]" , I am removing this prefix, before populating
the serviceDestinationNameMapping . I have tested this with Sonic MQ and found
that shared subscription is working fine and there is no errors or warnings in
Synapse log. Can you please tell me how can I submit this patch to Synapse SVN?
-Thanks
tanmay
> Multiple instances of Synapse instances cannot form a shared subscription
> group to Sonic MQ
> -------------------------------------------------------------------------------------------
>
> Key: SYNAPSE-369
> URL: https://issues.apache.org/jira/browse/SYNAPSE-369
> Project: Synapse
> Issue Type: Bug
> Components: Transports
> Affects Versions: 1.1.1, 1.2
> Environment: Windows XP, JDK 1.6, Sonic MQ 7.5.1
> Reporter: Tanmay saha
> Original Estimate: 1344h
> Remaining Estimate: 1344h
>
> This is a new issue. I am running 2 instances of Synapse-1.1.1 or
> Synapse-1.2. Deployed a Proxy over JMS in both instances. Goal is to make
> sure that when a JNDI Topic Entry is created in Sonic MQ with [[groupprefix]]
> in front of the actual topic (for example "[[grpsharedsubs]]TopicXA" ), at a
> time one Synapse instance will receive message from Sonic MQ. But Synapse
> throws some error. I ran a similar test by uisng a plain java jms client,
> which works fine in shared subscription mode. I have all the sonic required
> jars in Synapse\lib folder. The associated configurations are attached here
> 1) JNDI Lookup name in Sonic MQ
> 2) JMSTransport config in axis2.xml
> 3) Proxy config in Synapse
> 4) JMS Transport config in Synapse
> 5) SynapseError log.
> JNDI Lookup in Sonic MQ
> =====================================================================
> Lookup Name=TopicXA
> Type =Topic
> Destination Name=[[grpsharedsubs]]TopicXA
> JMS Transport configuration in axis2.xml
> =====================================================================
> <transportReceiver name="jms"
> class="org.apache.synapse.transport.jms.JMSListener">
> <parameter name="myTopicConnectionFactory">
> <parameter
> name="java.naming.factory.initial">com.sonicsw.jndi.mfcontext.MFContextFactory</parameter>
>
> <parameter
> name="java.naming.provider.url">tcp://localhost:2506</parameter>
> <parameter
> name="com.sonicsw.jndi.mfcontext.domain">Domain1</parameter>
> <parameter
> name="java.naming.security.principal">Administrator</parameter>
> <parameter
> name="java.naming.security.credentials">Administrator</parameter>
> <parameter
> name="transport.jms.ConnectionFactoryJNDIName">SonicTopicConnectionFactory</parameter>
>
> <parameter name="transport.jms.ConnectionFactoryType"
> locked="false">topic</parameter>
> </parameter>
> <parameter name="myQueueConnectionFactory">
> <parameter
> name="java.naming.factory.initial">com.sonicsw.jndi.mfcontext.MFContextFactory</parameter>
>
> <parameter
> name="java.naming.provider.url">tcp://localhost:2506</parameter>
> <parameter
> name="com.sonicsw.jndi.mfcontext.domain">Domain1</parameter>
> <parameter
> name="java.naming.security.principal">Administrator</parameter>
> <parameter
> name="java.naming.security.credentials">Administrator</parameter>
> <parameter
> name="transport.jms.ConnectionFactoryJNDIName">SonicQueueConnectionFactory</parameter>
>
> <parameter name="transport.jms.ConnectionFactoryType"
> locked="false">queue</parameter>
> </parameter>
> </transportReceiver>
>
> <transportSender name="jms"
> class="org.apache.synapse.transport.jms.JMSSender"/>
> Proxy Service Configuration
> ===================================
> <!-- Introduction to proxy services
> -->
> - <definitions xmlns="http://ws.apache.org/ns/synapse">
> - <!-- define the request processing XSLT resource as a static URL source
> -->
> <localEntry key="xslt-key-req"
> src="file:repository/conf/sample/resources/transform/echo_transform.xslt" />
> - <proxy name="echoProxy" transports="jms">
> - <target>
> - <endpoint>
> <address uri="http://localhost:8082/EJBWebService/EchoBean" />
> </endpoint>
> - <outSequence>
> <log level="full" />
> - <out>
> <xslt key="xslt-key-req" />
> </out>
> <send />
> </outSequence>
> </target>
> <parameter
> name="transport.jms.ConnectionFactory">myTopicConnectionFactory</parameter>
> <parameter name="transport.jms.Destination">TopicXA</parameter>
> <parameter name="transport.jms.DestinationType">topic</parameter>
> <parameter name="transport.jms.ReplyDestination">ReplyTopic</parameter>
> <parameter name="transport.jms.ReplyDestinationType">topic</parameter>
> <publishWSDL
> uri="file:repository/conf/sample/resources/proxy/echo_proxy.wsdl" />
> </proxy>
> </definitions>
> Synapse Error Log
> ================================================================================
> 2008-06-17 13:06:23,933 [10.200.182.100-PS-TSAHA] [WrapperSimpleAppMain]
> INFO ServerManager Ready for processing
> 2008-06-17 13:22:49,794 [10.200.182.100-PS-TSAHA] [JMS Session Delivery
> Thread] DEBUG JMSMessageReceiver Received JMS message to destination :
> TopicXA
> Message ID : ID:ffffffffcbed081a:2c060009:11A9831ACB2
> Correlation ID : null
> ReplyTo ID : null
> 2008-06-17 13:22:49,810 [10.200.182.100-PS-TSAHA] [jms-Worker-1] DEBUG
> JMSListener Error receiving message
> org.apache.axis2.AxisFault: The service cannot be found for the endpoint
> reference (EPR)
> at
> org.apache.axis2.engine.DispatchPhase.validateTransport(DispatchPhase.java:216)
>
> at
> org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:93)
>
> at org.apache.axis2.engine.Phase.invoke(Phase.java:308)
> at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212)
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:132)
> at
> org.apache.synapse.transport.base.AbstractTransportListener.handleIncomingMessage(AbstractTransportListener.java:210)
>
> at
> org.apache.synapse.transport.jms.JMSMessageReceiver$Worker.run(JMSMessageReceiver.java:201)
>
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
> Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]