1 2 Previous Next 20 Replies Latest reply on Oct 31, 2006 7:49 PM by ovidiu.feodorov Go to original post
      • 15. Re: Remote JMS server
        rcjboss

        Hi,
        (Please read patiently complete message as it belongs to this post.)
        Since JBoss Msg 1.2 is not available till Jan07, I am planning the following to achieve failover(manual):
        1. I will deploy JBoss Messaging as an independent server hosting all my Queues.
        2. The persistance for msg will be Oracle.
        3. I will have a standby replica instance of the above JBoss on a different machine, that will have the same Queues and will connect to same oracle. This will be my manual failover server.

        And I will have a cluster of 2 JBoss 4.0.4 which will host MDBs in a cluster that will be listening to the (remote) Queues mentioned above.

        First of all, Please confirm that this is a workable solution.

        Second, As I understand from the documentation: http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessagingUser_Deploying_a_scoped_MDB_container

        Can I not achieve the same by: installing JBoss Messaging on the servers that run the MDBs and just not configure the Queues on them (will this be a complete and easier way to achieve the scoped libraries?).

        Then I follow the documentation: http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessagingUser_Enabling_access_to_remote_JBoss_Messaging_instance to deploy my MDBs.

        Please advice.

        Thanks

        • 16. Re: Remote JMS server

           

          "rcjboss" wrote:

          1. I will deploy JBoss Messaging as an independent server hosting all my Queues.
          2. The persistance for msg will be Oracle.
          3. I will have a standby replica instance of the above JBoss on a different machine, that will have the same Queues and will connect to same oracle. This will be my manual failover server.

          And I will have a cluster of 2 JBoss 4.0.4 which will host MDBs in a cluster that will be listening to the (remote) Queues mentioned above.

          First of all, Please confirm that this is a workable solution.

          I don't see why not, assuming you have configured the MDBs talking to the remote JMS Server as explained the accessing remote jms doc.

          Can I not achieve the same by: installing JBoss Messaging on the servers that run the MDBs and just not configure the Queues on them (will this be a complete and easier way to achieve the scoped libraries?).

          Yes. What you are doign is - you have local jms server (along with the MDB Container) having components accessing remote JMS Server which is quite alright if you put up with co-existing JMS server.

          As far as I know, you would do scoping if you wish to have no co-existing JMS Server within you EJBContainer (that is, application server).

          /Madhu

          • 17. Re: Remote JMS server
            ovidiu.feodorov

             

            rcjboss wrote:

            Since JBoss Msg 1.2 is not available till Jan07, I am planning the following to achieve failover(manual):
            1. I will deploy JBoss Messaging as an independent server hosting all my Queues.
            2. The persistance for msg will be Oracle.
            3. I will have a standby replica instance of the above JBoss on a different machine, that will have the same Queues and will connect to same oracle. This will be my manual failover server.


            This is pretty much how JBossMQ achieves its HA capabilities. There is a service called HA Singleton that ships with JBoss that can help you with what you intend to do, until the real HA is out. You can take a look at how JBossMQ does it, it's not very complicated.

            rcjboss wrote:

            Can I not achieve the same by: installing JBoss Messaging on the servers that run the MDBs and just not configure the Queues on them (will this be a complete and easier way to achieve the scoped libraries?).


            Most likely, yes. You'll achieve scoping by doing that, and then you can deploy your MDBs within that scope without any additional trouble. After installation, you can actually turn off all Messaging services, to reduce the overhead and memory footprint.

            An alternative is to deploy a simple scoped bootstrap service with all necessary dependencies. This is actually the "method 3" of http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessagingUser_Deploying_a_scoped_MDB_container. I just didn't have time to expand it, but if you try it and you're successful at making it work, you could expand the document, it's a wiki ...


            • 18. Re: Remote JMS server
              • 19. Re: Remote JMS server
                jeanbobby

                Hi guys,

                Im trying to setup a remote-standalone JBossMessaging 1.1 Instance.
                The 'hosting' standalone server is 4.0.4.GA.

                The client(s) are 4.0.4.GAs, with the jms RAR and jms-ds defined as indicated in the remote-messaging wiki.

                I want my applications to be able to send/receive msgs first 'programatically', and maybe later with 3.0 MDBs.

                My main application is a spring-based war, for my tests it intializes a simple bean injecting a jms template which is based on the JmsXA bound in the private internal namespace.

                when sending the test message I first got classpath pbs, included messaging-client to server/myserver/lib, and then got into :

                java.lang.RuntimeException: Failed to config client side AOP
                
                15:43:39,643 ERROR [SocketClientInvoker] Got marshalling exception, exiting
                java.io.EOFException
                 at java.io.DataInputStream.readByte(DataInputStream.java:243)
                 at org.jboss.serial.io.JBossObjectInputStream.readByte(JBossObjectInputStream.java:227)
                 at org.jboss.jms.server.remoting.JMSWireFormat.read(JMSWireFormat.java:411)
                 at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.jav
                a:279)
                 at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143)
                 at org.jboss.remoting.Client.invoke(Client.java:525)
                 at org.jboss.remoting.Client.invoke(Client.java:488)
                 at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.invoke(ClientConnectionFact
                oryDelegate.java:199)
                 at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate$getClientAOPConfig_86975327
                01842707646.invokeNext(ClientConnectionFactoryDelegate$getClientAOPConfig_8697532701842707646.java)
                 at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.getClientAOPConfig(ClientCo
                nnectionFactoryDelegate.java)
                 at org.jboss.jms.client.JBossConnectionFactory.ensureAOPConfigLoaded(JBossConnectionFactory.
                java:233)
                 at org.jboss.jms.client.JBossConnectionFactory.createConnectionInternal(JBossConnectionFacto
                ry.java:196)
                 at org.jboss.jms.client.JBossConnectionFactory.createXAQueueConnection(JBossConnectionFactor
                y.java:144)
                 at org.jboss.jms.ConnectionFactoryHelper.createQueueConnection(ConnectionFactoryHelper.java:
                147)
                 at org.jboss.resource.adapter.jms.JmsManagedConnection.setup(JmsManagedConnection.java:709)
                 at org.jboss.resource.adapter.jms.JmsManagedConnection.<init>(JmsManagedConnection.java:184)
                
                 at org.jboss.resource.adapter.jms.JmsManagedConnectionFactory.createManagedConnection(JmsMan
                agedConnectionFactory.java:106)
                 at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventL
                istener(InternalManagedConnectionPool.java:539)
                 at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(Internal
                ManagedConnectionPool.java:228)
                 at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JB
                ossManagedConnectionPool.java:417)
                 at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConn
                ectionManager2.java:324)
                 at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectio
                nManager.java:301)
                 at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnec
                tionManager2.java:379)
                 at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.alloca
                teConnection(BaseConnectionManager2.java:812)
                 at org.jboss.resource.adapter.jms.JmsSessionFactoryImpl.allocateConnection(JmsSessionFactory
                Impl.java:389)
                 at org.jboss.resource.adapter.jms.JmsSessionFactoryImpl.createQueueSession(JmsSessionFactory
                Impl.java:144)
                 at org.springframework.jms.core.JmsTemplate102.createSession(JmsTemplate102.java:166)
                 at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:424)
                 at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:486)
                 at com.digiplug.repository.JmsTest.afterPropertiesSet(JmsTest.java:27)



                On the client and on the messaging server :

                15:58:00,611 ERROR [ServerThread] failed to process invocation.
                java.io.IOException: Can not read data for version 6. Supported versions: 1,2
                 at org.jboss.remoting.transport.socket.ServerThread.versionedRead(ServerThread.java:394)
                 at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:446)
                
                 at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:527)
                 at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:261)



                which seems to show a conflict between jboss-remoting versions between client and server... but I saw no directive concerning jboss-remoting in the wiki.

                Any help would be appreciated,
                Best Regards

                Olivier Cuzacq

                • 20. Re: Remote JMS server
                  ovidiu.feodorov

                  This looks like a Remoting version mismatch. Before going any further, this is also good read: http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessagingUser_Deploying_a_scoped_MDB_container
                  The root problems are similar.

                  1 2 Previous Next