Hi,
Iam trying to use the Jboss Messaging System-1.0.1.SP4, which got released
recently, but its throwing exception message
"javax.jms.InvalidClientIDException: Client ID 'defaultclient' already used by
ConnectionEndpoint[-2147483632]"
Here is the configuration settings related to client ID in the persistence
DB(oracle):
SELECT * FROM jms_user;
|
| USERID PASSWD CLIENTID
| mqm mqm defaultclient
| guest guest testclient
Note: We don't user user id - guest(client id - 'testclient'). We only uses
userid - mqm.
And, we configured multiple destination(Topics) with single role/userid(mqm) in
the destinations-service.xml file as shown below,
c:\jboss-4.0.4.GA\server\messaging\deploy\jboss-messaging.sar\destinations-service.xml
|
| <?xml version="1.0" encoding="UTF-8"?>
| <server>
|
| <mbean code="org.jboss.jms.server.destination.Topic"
| name="jboss.messaging.destination:service=Topic,name=HelloWorldTopic"
xmbean-dd="xmdesc/Topic-xmbean.xml">
| <depends
optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
| <attribute name="JNDIName">HelloWorldTopic</attribute>
| <attribute name="SecurityConfig">
| <security>
| <role name="mqm" read="true" write="true" create="true"/>
| </security>
| </attribute>
| </mbean>
|
|
| <mbean code="org.jboss.jms.server.destination.Topic"
|
name="jboss.messaging.destination:service=Topic,name=UserDrivenCategorizationTopic"
xmbean-dd="xmdesc/Topic-xmbean.xml">
| <depends
optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
| <attribute name="JNDIName">UserDrivenCategorizationTopic</attribute>
| <attribute name="SecurityConfig">
| <security>
| <role name="mqm" read="true" write="true" create="true"/>
| </security>
| </attribute>
| </mbean>
|
| <mbean code="org.jboss.jms.server.destination.Topic"
|
name="jboss.messaging.destination:service=Topic,name=TransactionCategorisationTopic"
xmbean-dd="xmdesc/Topic-xmbean.xml">
| <depends
optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
| <attribute name="JNDIName">TransactionCategorisationTopic</attribute>
| <attribute name="SecurityConfig">
| <security>
| <role name="mqm" read="true" write="true" create="true"/>
| </security>
| </attribute>
| </mbean>
| ........................
| ........................
|
| </server>
When we start JBoss Messaging system with the above configuration, it throwing
below exception message:-
02:08:31,248 INFO [JMSContainerInvoker] Waiting for reconnect internal 10000ms
for TransactionCategorisationMDB
| 02:08:31,279 ERROR [ExceptionUtil] [EMAIL PROTECTED] createConnectionDelega
| te [5c4o5s4p-gy8nr8-eyddak01-1-eyddfey7-1n]
| javax.jms.InvalidClientIDException: Client ID 'defaultclient' already used
by ConnectionEndpoint[-2147483632]
| at
org.jboss.jms.server.ServerPeer.checkClientID(ServerPeer.java:651)
| at
org.jboss.jms.server.endpoint.ServerConnectionFactoryEndpoint.createConnectionDelegate(ServerConnectionFactoryEndpo
| int.java:129)
| at
org.jboss.jms.server.endpoint.advised.ConnectionFactoryAdvised.org$jboss$jms$server$endpoint$advised$ConnectionFact
| oryAdvised$createConnectionDelegate$aop(ConnectionFactoryAdvised.java:64)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
| at
org.jboss.jms.server.container.InjectionAspect.handleCreateConnectionDelegate(InjectionAspect.java:69)
| at
org.jboss.aop.advice.org.jboss.jms.server.container.InjectionAspect0.invoke(InjectionAspect0.java)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.aop.Advisor.dynamicInvoke(Advisor.java:723)
| at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:101)
| at
org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:127)
| at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:715)
| at
org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:552)
| at
org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:377)
| at
org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:159)
| 02:08:31,279 ERROR [ServerThread]
SocketServerInvoker[0.0.0.0:4457].invoke() call failed: Client ID 'perusworld'
already used
| by ConnectionEndpoint[-2147483632]
| 02:08:31,295 WARN [JMSContainerInvoker] JMS provider failure detected for
DataPointManagementMDB
| javax.jms.InvalidClientIDException: Client ID 'defaultclient' already used
by ConnectionEndpoint[-2147483632]
| at
org.jboss.jms.server.ServerPeer.checkClientID(ServerPeer.java:651)
| at
org.jboss.jms.server.endpoint.ServerConnectionFactoryEndpoint.createConnectionDelegate(ServerConnectionFactoryEndpo
| int.java:129)
| at
org.jboss.jms.server.endpoint.advised.ConnectionFactoryAdvised.org$jboss$jms$server$endpoint$advised$ConnectionFact
| oryAdvised$createConnectionDelegate$aop(ConnectionFactoryAdvised.java:64)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
| at
org.jboss.jms.server.container.InjectionAspect.handleCreateConnectionDelegate(InjectionAspect.java:69)
| at
org.jboss.aop.advice.org.jboss.jms.server.container.InjectionAspect0.invoke(InjectionAspect0.java)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.aop.Advisor.dynamicInvoke(Advisor.java:723)
| at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:101
Note: When I use 1.0.1.SP2 version, with the above configuration, not facing
this problem.
I just searched this error msg in the jboss site, the url -
http://lists.jboss.org/pipermail/jboss-cvs-commits/2007-February/021585.html ,
says that there is a fix made in 1.0.1.SP4, which avoids multiple Client IDs(
as per JMS 1.1 spec).
Here is the snippet of the msg, mentioned in the above web url,
In ServerConnectionEndpoint.java file
|
| "
| + // verify the clientID is unique
| +
| + // JMS 1.1 Specifications, Section 4.3.2:
| + // "By definition, the client state identified by a client
identifier can be ?in use? by
| + // only one client at a time. A JMS provider must prevent
concurrently executing clients
| + // from using it."
| "
Iam not sure how we need to define the client ids/role. Can some one explan on
this.
Do I need to define separate role(username, passwd and client id) for each
destinations(Topics) as,
USERID PASSWD CLIENTID
| mqm1 mqm1 defaultclient1
| mqm2 mqm2 defaultclient2
| mqm3 mqm3 defaultclient3
| mqm4 mqm4 defaultclient4
and map them in destinations-service.xml as ,
<mbean code="org.jboss.jms.server.destination.Topic"
| name="jboss.messaging.destination:service=Topic,name=Topic1"
| xmbean-dd="xmdesc/Topic-xmbean.xml">
| ........
| <attribute name="SecurityConfig">
| <security>
| <role name="mqm1" read="true" write="true" create="true"/>
| </security>
| </attribute>
| </mbean>
|
| <mbean code="org.jboss.jms.server.destination.Topic"
| name="jboss.messaging.destination:service=Topic,name=Topic2"
| xmbean-dd="xmdesc/Topic-xmbean.xml">
| ........
| <attribute name="SecurityConfig">
| <security>
| <role name="mqm2" read="true" write="true" create="true"/>
| </security>
| </attribute>
| </mbean>
| mbean code="org.jboss.jms.server.destination.Topic"
| name="jboss.messaging.destination:service=Topic,name=Topic3"
| xmbean-dd="xmdesc/Topic-xmbean.xml">
| ........
| <attribute name="SecurityConfig">
| <security>
| <role name="mqm3" read="true" write="true" create="true"/>
| </security>
| </attribute>
| </mbean>
Is my understanding correct ?
Please help me in defining the client ids correctly to use 1.0.1.SP4.
Thx, Sathish
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4019385#4019385
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4019385
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user