5 Replies Latest reply on Jan 3, 2002 10:37 AM by hchirino

    JBoss in Same JVM

    rlynn

      It lookes like JBoss allows you to set up a JMS transport type of JVM in the jboss.jcml. Does this allow you to make JMS calls without serializing your object? If not, what is the advantage to this?

      The reason I ask is because we tried this and it still seems to serialize our object which is causing performance problems. Any help would be appreciated.

        • 1. Re: JBoss in Same JVM
          hchirino

          What message type are you using?? Object messages are ALLWAYS serialized. The JVM transport economizes on serializing the method call from the client to the server.

          Regards,
          Hiram

          • 2. Re: JBoss in Same JVM
            rlynn

            We're using the JVM and passing on object to the Message Bean. This object contains a fair amount of data which is why the serialization takes awhile.
            Here is a piece of the jboss.jcml which indicated the type I'm using. java:/ConnectionFactory to get my JMS Connection.

            The reason I ask is because it seems as though running in the same JVM should allow you to be smart about it and pass by reference rather than pass by value. Thanks.

            Ralph

            • 3. Re: JBoss in Same JVM
              hchirino

              JMS messages must allways be copied when they are sent(). Hence they are passed by value. This is because the JMS API says the you should be able to modify a jms message object that was just sent with out affecting the sent message. This allows a sender to reuse the same message object to send multiple different messages.

              Regards,
              Hiram

              • 4. Re: JBoss in Same JVM
                rlynn

                If this is the case, wy would you use the JVM message type?

                • 5. Re: JBoss in Same JVM
                  hchirino

                  It's not a message type, but a way to talk to the server. Since no sockets are used you do not get any network latency when sending messages to the server. It also put's less stress on the server since it did not need to have another thread running to service the client connection.

                  Regards,
                  Hiram