You need to set it via the
property, transport.jms.DurableSubscriberClientID and not set it to true.
Also this can be a proxy service level parameter so that you can define
different client ids for different proxy services.

Hope this helps.

Rajika

On Tue, Aug 14, 2012 at 12:01 PM, Wright, Peter
<[email protected]>wrote:

> Hi,
>
> I want to define a JMS listener as a durable subscription,
> but always get an error message that the client-id is null.
> I'm using IBM MQ as the messaging provider.
>
> I've attached the error messages and my axis2 JMS config.
>
> Running synapse 2.1.0 on solaris 10.
>
> Thanks for any help,
> Peter
>
> --------------------------------------------
>
> Error Messages
>
> 2012-08-14T08:16:33,INFO ,mdzhsfesb01,MSGMED,SynapseServer.java:70,Apache
> Synapse started successfully
> 2012-08-14T08:16:34,ERROR,mdzhsfesb01,MSGMED,ServiceTaskManager.java:965,Error
> creating JMS consumer for service : JMS_XML_Proxy
> com.ibm.msg.client.jms.DetailedInvalidClientIDException: JMSCC0101: The
> client ID cannot be null. Specify a non-null client ID.
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>         at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>         at
> com.ibm.msg.client.commonservices.j2se.NLSServices.createException(NLSServices.java:313)
>         at
> com.ibm.msg.client.commonservices.nls.NLSServices.createException(NLSServices.java:388)
>         at
> com.ibm.msg.client.jms.internal.JmsErrorUtils.createException(JmsErrorUtils.java:104)
>         at
> com.ibm.msg.client.jms.internal.JmsSessionImpl.createDurableSubscriber(JmsSessionImpl.java:964)
>         at
> com.ibm.mq.jms.MQSession.createDurableSubscriber(MQSession.java:467)
>         at
> org.apache.axis2.transport.jms.JMSUtils.createConsumer(JMSUtils.java:632)
>         at
> org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.createConsumer(ServiceTaskManager.java:839)
>         at
> org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.getMessageConsumer(ServiceTaskManager.java:710)
>         at
> org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.receiveMessage(ServiceTaskManager.java:478)
>         at
> org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.run(ServiceTaskManager.java:409)
>         at
> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:58)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:662)
>
> --------------------------------------------
>
> axis2.xml
>
> <transportReceiver name="jms"
> class="org.apache.axis2.transport.jms.JMSListener">
>             <parameter name="java.naming.factory.initial"
> locked="false">com.sun.jndi.ldap.LdapCtxFactory</parameter>
>             <parameter name="java.naming.provider.url"
> locked="false">ldap://server:port/myDn</parameter>
>             <parameter name="transport.jms.ConnectionFactoryType"
> locked="false">topic</parameter>
>             <parameter name="transport.jms.ConnectionFactoryJNDIName"
> locked="false">cn=TCF-FINESB-POS-SED1.EU.DEV.01</parameter>
>             <parameter name="transport.jms.ConnectionFactory"
> locked="false">cn=TCF-FINESB-POS-SED1.EU.DEV.01</parameter>
>             <parameter name="transport.jms.Destination"
> locked="false">cn=sed.finesb.pos.fkism.cust</parameter>
>             <parameter name="transport.jms.DestinationType"
> locked="false">topic</parameter>
>             <parameter name="java.naming.security.principal"
> locked="false">myLoginDn</parameter>
>             <parameter name="java.naming.security.credentials"
> locked="false">myPassword</parameter>
>             <parameter name="transport.jms.SubscriptionDurable"
> locked="false">true</parameter>
>             <parameter name="transport.jms.DurableSubscriberName"
> locked="false">msgmed.DEV1</parameter>
>             <parameter name="transport.jms.DurableSubscriberClientID"
> locked="false">true</parameter>
> </transportReceiver>
>
>
> The content of this e-mail is intended only for the confidential use of
> the person addressed.
> If you are not the intended recipient, please notify the sender and delete
> this email immediately.
> Thank you.
>

Reply via email to