Announcement Announcement Module
Collapse
No announcement yet.
Spring MDP / Websphere / Webmethods JMS - Cannot set Client ID Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spring MDP / Websphere / Webmethods JMS - Cannot set Client ID

    I am trying to run a Spring Message Driven POJO on a Websphere server, using Webmethods as a JMS provider. The JMS provider is set up as a generic provider in the Websphere admin console, and the JMS settings are obtained from LDAP.

    JMS has been set up so that no client ID is initialized, so that one topic connection factory can be used for multiple projects. We usually explicitly set a client ID in JMS to assist with debugging.

    I am using the following JMS set-up configuration:

    <jee:jndi-lookup id="receiveConnectionFactory" jndi-name="java:comp/env/TopicConnectionFactory"/>
    <jee:jndi-lookup id="receiveDestination" jndi-name="java:comp/env/Topic"/>

    <jms:listener-container connection-factory="receiveConnectionFactory" destination-type="durableTopic" client-id="SomeClientName">
    <jms:listener destination="receiveDestination" ref="jmsMessageDrivenPojo" subscription="jmsProcessor" selector="ResponderProcessId = 'Value'"/>
    </jms:listener-container>


    If I set the client-id parameter I see the following in the Websphere console:

    DefaultMessag I org.springframework.jms.listener.DefaultMessageLis tenerContainer refreshConnectionUntilSuccessful Could not refresh JMS Connection for destination 'receiveDestination' - retrying in 5000 ms. Cause: Method setClientID not permitted
    DefaultMessag I org.springframework.jms.listener.DefaultMessageLis tenerContainer refreshConnectionUntilSuccessful Could not refresh JMS Connection for destination 'receiveDestination' - retrying in 5000 ms. Cause: Method setClientID not permitted
    DefaultMessag I org.springframework.jms.listener.DefaultMessageLis tenerContainer refreshConnectionUntilSuccessful Could not refresh JMS Connection for destination 'receiveDestination' - retrying in 5000 ms. Cause: Method setClientID not permitted
    DefaultMessag I org.springframework.jms.listener.DefaultMessageLis tenerContainer refreshConnectionUntilSuccessful Could not refresh JMS Connection for destination 'receiveDestination' - retrying in 5000 ms. Cause: Method setClientID not permitted


    Removing the client-id attribute allows the Spring MDP to be started, which suggests that the client ID is being set by Spring, but for some reason cannot be overridden.

    Is there any way to explicitly set the client ID for the Spring MDP in this situation?

  • #2
    Im using spring 2.5.6 with WAS7 and Tibco eMS and experiencing a similar issue. The client Id doesnt get used at all.

    In development, I resolved this by proxyng my connection factory through a Spring singleconnectionfactory as it allows you to set the clientId.

    Clearly, I can't take this into my production environment. Will keep you posted.

    Comment

    Working...
    X