Glue JMS Server Using webMethods JMS Provider

Hi,
I am trying to go through the examples provided with glue 5.01. I have replaced the “SwiftMQ JMS provider” with “webMethods JMS provider” and I could start my jms glue server successfully.

But when I try to generate client side bindings using -

wsdl2java jms:///jaiapp/exchange.wsdl -p examples.jms.client.client

I get following error -
javax.jms.JMSException: Unable to create QueueReceiver: Client Contention (201-1
030): Cannot reconnect client ‘GlueQueue_jaiapp’. Another process is already co
nnected to the Broker and is using this client.

    at com.wm.broker.jms.Connection.convertBrokerException(Connection.java:1 
  1. at com.wm.broker.jms.QueueReceiver.internalSetup(QueueReceiver.java:108)

    at com.wm.broker.jms.QueueReceiver.<init>(QueueReceiver.java:69)
    at com.wm.broker.jms.QueueSession.createReceiver(QueueSession.java:118)
    at electric.server.jms.JMSResourceLoader.loadResource(Unknown Source)
    at electric.util.resourceloader.ResourceLoaders.loadResource(Unknown Sou
    rce)
    at electric.wsdl.tools.WSDL2Java.wsdl2java(Unknown Source)
    at electric.wsdl.tools.WSDL2Java.main(Unknown Source)
    java.io.IOException: unable to read WSDL file jms:///jaiapp/exchange over JMS qu
    eue
    at electric.server.jms.JMSResourceLoader.loadResource(Unknown Source)
    at electric.util.resourceloader.ResourceLoaders.loadResource(Unknown Sou
    rce)
    at electric.wsdl.tools.WSDL2Java.wsdl2java(Unknown Source)
    at electric.wsdl.tools.WSDL2Java.main(Unknown Source)

Any suggestion what should I do. ?

Regards
Jai

Jai,

I’m not familiar with the JMS example. Did it work with SwiftMQ?

Mark

Hi, I did not work on Glue, but looking at the error seems like you are using ‘GlueQueue_jaiapp’ as the client id and probably you already have a client with that client id running (or as orphan java process). Try using a unique client id. Hope this helps!!

Srikant,
You are correct that I am already using the "‘GlueQueue_jaiapp’ client.
The client gets created when I start glue jms server. When I try running the client to invoke the webService using SOAP/JMS it again creates a jms client to broker to invoke it.

I was reading the BrokerJMSProvider Users guide and this is what I found -
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
The ClientId can be set in the following two ways:
… Specify a ClientId in the connectionClientId attribute of the Topic
ConnectionFactory or Queue ConnectionFactory.
… Specify empty string for the ClientId in the connectionClientId attribute of the
Topic ConnectionFactory or Queue ConnectionFactory.
If a ClientId is specified in the connectionClientId attribute, each connection created
from this connection factory will have a ClientId derived from this ClientId. The first
connection will use the ClientId directly; all subsequent connections will use the ClientId
with a numeric suffix appended to make them unique, unless the strictClientId is set to
true.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

So As I understand from this the cliend id should have been made unique by itself. I see that this happens in case of JMS COnnection which increments automatically to 001 for the client connection.

Example:
Client1 -
glueJMS
BrokerJMS Connection
BrokerJMS_Connections
Yes
No
0

Client2-
glueJMS 0001
BrokerJMS Connection
BrokerJMS_Connections
Yes
No
0

Hi Jai,
I have the same problem and found no solution until now.

javax.jms.JMSException: Unable to create QueueBrowser BrokerClient: Client Contention (201-1030): Cannot reconnect client ‘POST_DEV_IM2S_REPLY’. Another process is already connected to the Broker and is using this client.

Have you found anything?

The most likely issue here is that the client queue is created in a non-shared mode by default. This prevents you from having multiple processes using the same client queue. Unfortunately shared mode can only be changed when the client queue is created.

Delete the client’s queue and ensure that you set the property for shared state for the JMS provider and try again.

Thanks, it works!

Regards,
Michael