8 Replies Latest reply on Oct 15, 2014 11:46 AM by eugeneo

    JBoss Message Sucker Password Error

      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
          jonniezg

          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
            e3k

            same issue here. anybody solved this??

            • 3. Re: JBoss Message Sucker Password Error
              wernerjoh

              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
                jonniezg

                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
                  wernerjoh

                  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.t.clarke

                    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
                      bondchan921

                      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>


                      • 8. Re: JBoss Message Sucker Password Error
                        eugeneo

                        Hi,

                         

                        I know the last reply on this thread is pretty stale now but I have a challenge locating the right SecurityUtil class that has a 'main' method. Strangely, my jboss-messaging-client.jar does not contain org.jboss.messaging.util.SecurityUtil. I am using Jboss 5.1.0 which I recently downloaded. Has anyone else seen this issue. I searched most of the jar files in my $JBOSS_HOME/client and found org.jboss.security.SecurityUtil class in jbosssx-client.jar. Unfortunately, I still get the error below. Am I using the wrong JBoss 5.1.0 or has the build changed since you guys made it work?

                         

                        /usr/java/jre6/bin/java -cp $JBOSS_HOME/client/jbosssx-client.jarging-spi.jar org.jboss.security.SecurityUtil Testpwd

                        Exception in thread "main" java.lang.NoSuchMethodError: main

                         

                        Your insight would be much appreciated