7 Replies Latest reply on May 28, 2007 6:39 AM by frofake

    JBoss Messaging and NIO

    frofake

      Greetings all,

      I am interested in idea to base entire JBoss Messaging project on Java NIO API, so I was wondering if someone with more knowledge of the context could write some of the requirements and explanations, such some potential bottlenecks, directions to use and avoid etc.

      One of the questions is: is JBM using JGroups for all its networking communication, so if this is true does this imply that we need to adjust JGroups etc.

      I know that I could find this all out by scanning thru the code, as I have started, but I think 15 minutes of some of the more senior guys could save me hours.

      Thanks in advance

        • 1. Re: JBoss Messaging and NIO

          FYI

          JBoss Messaging uses JBoss Remoting to provide the client-server and server-client communication and uses jgroups to provide the clustering capabilities.

          • 2. Re: JBoss Messaging and NIO
            timfox

            Yes, JBoss Remoting is currently used for client-server communication.

            Using NIO is on our roadmap and we are currently looking at various ways to implement this.

            JBoss Remoting 3 plans also to be based on a NIO infrastructure.

            There are various options: remoting 3, MINA, grizzly etc. and various combinations of the listed.

            • 3. Re: JBoss Messaging and NIO
              timfox

              If you have any more ideas, please share them :)

              • 4. Re: JBoss Messaging and NIO
                frofake

                Actually I was also considering MINA-like tooleset.

                So just to confirm: making JBM NIO based actually means adjusting JJBRemoting NIO based.

                Am I right?

                • 5. Re: JBoss Messaging and NIO
                  frofake

                  Sorry, now I got it.

                  So, its not decided yet which of the frameworks to use (MINA, Remoting), this is something we should explore.

                  • 6. Re: JBoss Messaging and NIO
                    timfox

                    Initially it's likely we will use the transport layer from QPid to implement our NIO transport, and keep remoting 2.x really just to implement the HTTP transport.

                    This layer is based on MINA and implements another layer of abstraction that allows you to specify your protocol and it handles the request/response correlation and all that kind of stuff.

                    Also, apparently we are bringing on Trustin Lee, the author of Apache MINA into JBoss. This is great news, and I imagine this means remoting 3 is going to based on MINA principles and technology.

                    This means in the mid-long term we can go back to using remoting 3 when it is out, however I doubt whether this will be in the timescales we need. Luckiy though everything will be based on MINA so the transition won't be so bad.

                    • 7. Re: JBoss Messaging and NIO
                      frofake

                       

                      "timfox" wrote:
                      we are bringing on Trustin Lee.


                      Well, that are good news, and it sure means that now we mortals should watch and learn from the masters how things are done :).

                      Really looking forward seeing MINA at its best.