7 Replies Latest reply: Jul 4, 2013 3:51 AM by Bond Chan RSS

JBoss Message Sucker Password Error

Vanitha Palanichamy Newbie

Hi,

 

I have JBoss AS 5.1.0 with ESB 4.7 set up in clustered environment with 2 nodes.

 

 

I have changed the message sucker password in deploy\messaging\messaging-jboss-beans.xml

under both  the nodes to say "mypassword".

 

When I start node1, the server starts fine with no errors.

When I start node2, I get the following error.

 

Could anyone help me with this issue?

 

10:26:50,539 WARN  [JBossASSecurityMetadataStore] WARNING! POTENTIAL SECURITY RISK. It has been detected that the MessageSucker component which sucks messages from one node to another has not had its password changed from the installation default. Please see the JBoss Messaging user guide for instructions on how to do this.
10:26:50,539 ERROR [ExceptionUtil] ConnectionFactoryEndpoint[jboss.messaging.connectionfactory:service=ClusterPullConnectionFactory] createFailoverConnectionDelegate [db-79qdof9g-1-c9qcof9g-kgzxoc-w31o4c5]
javax.jms.JMSSecurityException: User JBM.SUCKER is NOT authenticated
at org.jboss.jms.server.jbosssx.JBossASSecurityMetadataStore.authenticate(JBossASSecurityMetadataStore.java:223)
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:597)
at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
at javax.management.StandardMBean.invoke(StandardMBean.java:391)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy279.authenticate(Unknown Source)
at org.jboss.jms.server.endpoint.ServerConnectionFactoryEndpoint.createConnectionDelegateInternal(ServerConnectionFactoryEndpoint.java:233)
at org.jboss.jms.server.endpoint.ServerConnectionFactoryEndpoint.createConnectionDelegate(ServerConnectionFactoryEndpoint.java:171)
at org.jboss.jms.server.endpoint.advised.ConnectionFactoryAdvised.org$jboss$jms$server$endpoint$advised$ConnectionFactoryAdvised$createConnectionDelegate$aop(ConnectionFactoryAdvised.java:108)
at org.jboss.jms.server.endpoint.advised.ConnectionFactoryAdvised.createConnectionDelegate(ConnectionFactoryAdvised.java)
at org.jboss.jms.wireformat.ConnectionFactoryCreateConnectionDelegateRequest.serverInvoke(ConnectionFactoryCreateConnectionDelegateRequest.java:91)
at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:891)
at org.jboss.remoting.transport.local.LocalClientInvoker.invoke(LocalClientInvoker.java:106)
at org.jboss.remoting.Client.invoke(Client.java:1724)
at org.jboss.remoting.Client.invoke(Client.java:629)
at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.org$jboss$jms$client$delegate$ClientConnectionFactoryDelegate$createConnectionDelegate$aop(ClientConnectionFactoryDelegate.java:171)
at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.invokeTarget(ClientConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
at org.jboss.jms.client.container.StateCreationAspect.handleCreateConnectionDelegate(StateCreationAspect.java:81)
at org.jboss.aop.advice.org.jboss.jms.client.container.StateCreationAspect_z_handleCreateConnectionDelegate_27350423.invoke(StateCreationAspect_z_handleCreateConnectionDelegate_27350423.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.createConnectionDelegate(ClientConnectionFactoryDelegate.java)
at org.jboss.jms.client.JBossConnectionFactory.createConnectionInternal(JBossConnectionFactory.java:205)
at org.jboss.jms.client.JBossConnectionFactory.createConnection(JBossConnectionFactory.java:87)
at org.jboss.messaging.core.impl.clusterconnection.ClusterConnectionManager$ConnectionInfo.start(ClusterConnectionManager.java:646)
at org.jboss.messaging.core.impl.clusterconnection.ClusterConnectionManager.ensureAllConnectionsCreated(ClusterConnectionManager.java:409)
at org.jboss.messaging.core.impl.clusterconnection.ClusterConnectionManager.notify(ClusterConnectionManager.java:230)
at org.jboss.messaging.core.impl.DefaultClusterNotifier.sendNotification(DefaultClusterNotifier.java:72)
at org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.putReplicantLocally(MessagingPostOffice.java:1187)
at org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.put(MessagingPostOffice.java:1440)
at org.jboss.jms.server.connectionfactory.ConnectionFactoryJNDIMapper.registerConnectionFactory(ConnectionFactoryJNDIMapper.java:248)
at org.jboss.jms.server.connectionfactory.ConnectionFactory.startService(ConnectionFactory.java:204)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:376)
at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:269)
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:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:138)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:90)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:140)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:90)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
at $Proxy38.start(Unknown Source)
at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
at org.jboss.system.ServiceController.start(ServiceController.java:460)
at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
at org.jboss.Main.boot(Main.java:221)
at org.jboss.Main$1.run(Main.java:556)
at java.lang.Thread.run(Thread.java:619)
10:26:50,571 ERROR [ClusterConnectionManager] Failed to start connection info
javax.jms.JMSSecurityException: User JBM.SUCKER is NOT authenticated

  • 1. Re: JBoss Message Sucker Password Error
    Arsen Torbarina Newbie

    Hi, Vanitha!

     

    I am having exactly the same problem. Even though people say: "...it's enough to set the suckerPassword param in the messaging-jboss-beans.xml (as opposed to ''the old'' messaging-service.xml that is ''not used anymore'')...", I couldn't get it to work. Not until I change the password in both files.

     

    Strangely enough, sometimes (like in 1 of 5 tries of JBoss restart) - it *will* work only with a password set in the messaging-jboss-beans.xml 

     

    My goal was to enable "secure" password storage, as explained here: http://server.dzone.com/articles/security-features-jboss-510-0. It did not work, so I tried to just use the plain password change (the suckerPassword property) in the messaging-jboss-beans.xml, but neither worked, until the same password was set even in the messaging-service.xml. Here we get to the Catch-22, since the password in messaging-service.xml can be stored only in clear text! So what's the point of having a password encrypted in one file, if it is kept stored as clear text in the other?

     

    Are we missing something here???


    Regards,

    Arsen

  • 2. Re: JBoss Message Sucker Password Error
    Erik Úlfhéðinn Newbie

    same issue here. anybody solved this??

  • 3. Re: JBoss Message Sucker Password Error
    Werner Johansson Newbie

    Where do you find these files in JBoss 6. I can't even find the files you are referring to. And yes, freshly unzipped JBoss 6 Final and no joy on even locating the files.

  • 4. Re: JBoss Message Sucker Password Error
    Arsen Torbarina Newbie

    I am still on on JBoss 5.1.0 (EAP 5.0, in fact). Didn't get the time yet to try 6.0.

     

    So, they've reshuffled it that hard, huh?

  • 5. Re: JBoss Message Sucker Password Error
    Werner Johansson Newbie

    Reshuffled is a kind way of saying bulldozed. Nothing of what was there in 5.1 seems to be left when it comes to clustering at the little I've had time to look at it. Sad but true, time for new guides because there are quite a bit of things good with it

  • 6. Re: JBoss Message Sucker Password Error
    Steven Clarke Newbie

    So, I'm aware that this is a very old thread, but I'm leaving this here in case anyone comes across it like I did.  I found a bug report referring to issues surrounding setting the MessageSucker password in EAP 5 here :

     

    https://issues.jboss.org/browse/JBPAPP-4550

     

    Here's a quote from a comment by Yong Hao Gao which I found to be enlightening :

    "...The sucker password no longer can be set in clear text. You need to encode it using org.jboss.messaging.util.SecurityUtil. For example you can run


    java org.jboss.messaging.util.SecurityUtil R1E2D3H4A5T6


    You should get something like:


    key len: 14 length max: 128

    Encoded password: 1e6564c73b1d037895213cfb3cf82737

     

    Then put the encoded password in the config file in message-service.xml.  I think you don't need encoded password in messaging-jboss-beans.xml. However I think it's possible to do so. It's not controlled by JBM but you will find more details with AS guys."

    This refers specifically to setting the password in messaging-service.xml.  The password in messaging-jboss-beans.xml apparently must still be set in plain text (I tried to set it to the same encrypted value as in messaging-service.xml but it did not work).  So if anyone is trying to set the MessageSucker password and getting errors like "Exception setting attribute SuckerPassword on mbean jboss.messaging:service=ServerPeer" which complain about the value being an invalid format, it may be that you simply need to encrypt it.

    Here's another post about how to use the SecurityUtil class to encrypt your password.  Just run the command :

    >>>> java -cp $JBOSS_HOME/client/jboss-messaging-client.jar org.jboss.messaging.util.SecurityUtil <yourpassword>

    http://middlewaremagic.com/jboss/?p=316

    Note : I'm specifically using JBoss with SOA-P 5 5.2.0GA but this will probably apply to JBossAS 5 and 6 in general.  Although in 6 (I think) you have-to encrypt the password in messaging-jboss-beans.xml, and don't have to set it in messaging-service.xml

  • 7. Re: JBoss Message Sucker Password Error
    Bond Chan Novice

    Thanks Steven,

     

    your post helps me solve my problem...

     

    I my case, the messages can only consumed by the node sending the messages to the queue. other nodes can't.

     

    changes made:

    1, messaging-jboss-beans.xml: using the plain password <passwd>

    2, messaging-service.xml: using the encrypted code <passwd>