tags:

views:

234

answers:

1

We have a set of applications that I want to use JMS for messaging between. Right now, our applications all make TCP connections to the ActiveMQ broker. Is it possible to make the 15 or so applications that are on the same host use the inVM connections or use a form of shared memory while the remaining 20 or so applications that are off of that host use TCP still?

Basically, I want combine a broker configured with inVM and a broker configured with TCP. Can I do that, or do I have to do a bridge configuration?

+1  A: 

The inVM connections only work if the applications are within the same JVM.

If they are on the same box but in different processes, then TCP is the best bet. Most operating systems will use efficient TCP implementations so that you are not actually going onto the network to communicate between the local processes.

Messaging is stream based, so shared memory doesn't really help with ActiveMQ. Its really just a choice of TCP or VM if your application is within the same JVM as the broker

James Strachan
I'd prefer to run most of the apps in the same VM actually, but there are some that have to be on different machines.
Jay R.