2 Replies Latest reply on Apr 17, 2012 8:43 AM by wdfink

    Configuring multiple JBoss App Servers to Use a Single JMS Database

    torjoshi

      Hello Everyone,

       

      I am using JBoss 4.2.3 GA servers in non-cluster mode. Currently they are configured to point to a single instance of JMS database. The underlying database is MS-SQL. My testing of the setup has not shown any problems. There is no requirement to cluster the App servers.

      However would like to see if it's a good practice to share the JMS database? Would it pose any problem if shared across multiple JBoss AS?

       

      Would appreciate any replies or pointers to existing posts regarding this topic. Thank you.

       

      RJ

        • 1. Re: Configuring multiple JBoss App Servers to Use a Single JMS Database
          rhusar

          Hi RJ,

           

          If I understand correctly, you don't want any form of clustering or HA so the server intances all work "standalone". In that case, sharing a DB is purely as a persisten storage. There should be no problem with configuration, just set it up with different MSSQL accounts so you don't accidentaly damange data in case of misconfiguration. This however imposes more load on the DB server and if you app grows you will have to migrate the DBs which is always a pain. But if performance is not an issue, sharing the same DB is no an issue either.

           

          If you wanted to use clustering and clustered queues, then you would have to share a single DB instances in order to guarantee HA (if one server crashes, the messages are still in DB and the other server takes over responsibility to deliver those messages).

           

          Configuration and docs, read on http://docs.redhat.com/

           

          HTH,

          Rado

          • 2. Re: Configuring multiple JBoss App Servers to Use a Single JMS Database
            wdfink

            Additional to Radoslav's comment.

            You use 4.2 and this will have JBossMQ as JMS provider.

            If you will not have any cluster/failover as I understand, the only thing is to use different user/scheme for both servers.

            Otherwise you will have no control which instance will handle the messages