I am looking for some general advice as to what messaging solution would be simplest for my situation...
I am developing an application in Seam that needs to be able to talk to a separate process, currently on the same machine (although that could change in the future). It has to be in a separate process because its purpose is to generate music files and I'm running it from within MaxMSP, a musical programming environment, which allows you to run your own Java code within it.
I only need to be able to send simple commands back and forth between the two processes...I thought of just using sockets, and perhaps that would be the best approach, but I'd prefer to be working at a higher level of abstraction.
I tried using JBoss Remoting, and in fact I spent a lot of time on this and got it working well with a standalone Java test app, but unfortunately when I tried to run it from within Seam it no longer worked. When the invoke() method was called, I was getting an
end of file error message that I found impossible to debug, with no help at all from the Jboss Remoting forum (the lack of support also concerns me). I tried using the rmi:// protocol instead of socket:// but that didn't work with MaxMSP due to classloader issues... so I'm very ready to try something other than JBoss Remoting. I'm using Jboss AS 5.1.
Would JMS perhaps be a better option? I'm a little hesitant to try it because I haven't used it before, and I'm concerned that it would add unnecessary overhead and complexity to the project. I am following the Seam in Action book which recommends the use of POJOs for simplicity, and it looks like in order to use JMS you have to be using EJBs instead. I'd rather not significantly increase the complexity of my project (and lose some of the hot-deploy features) just to get messaging working.
This seems to be a simple problem but I've found it to be surprisingly difficult to figure out...of course I'm still relatively new to Java web programming...I really like Seam so whatever way this works most easily with Seam is the method I want to pursue.
Thanks for any help or suggestions,