简体   繁体   中英

Process communication in JAVA, JavaSpaces

Two Java programs have to communicate with each other, To do that I found two possibilities

  • Using Sockets
  • Using JavaSpaces

After looking into the description, I found out, that JavaSpaces is apparently the better solution. Sadly, I can't get it to run. Ever totourial roots me to another installation process, to other files and so on.... :(

How to install JavaSpaces, where to download them etc?

If someone offers me a better solution for it I'll be thankful to (JavaSpaces seems to be from 2005)

this are the websites I found so far: http://www.jroller.com/matsh/entry/intreagued_by_javaspaces_try_blitz (Installation description, not working...) http://www.jini.org/wiki/Main_Page (Download links are broken) http://www.jarvana.com/jarvana/inspect/com/sun/jini/jini-starterkit/2.1/jini-starterkit-2.1.zip?folder=jini2_1/ (Download of jini starter kit)

For one quick start using GigaSpaces, a commercial JavaSpaces product (with a community edition available), see http://www.gigaspaces.com/wiki/display/XAP8/Data+Grid+Quick+Start

Also see http://replay.waybackmachine.org/20070202031207/http://www.theserverside.com/tt/articles/article.tss%3Fl%3DUsingJavaSpaces and http://www.theserverside.com/news/thread.tss?thread_id=42164 and http://www.enigmastation.com/?page_id=425

JavaSpaces is great, IMO (I'm biased, as I work for GigaSpaces... but then again, I work for GigaSpaces because I think the underlying technology is great.) - it's got a very simple API but the transaction model is actually pretty strong, and it's very fast. It's simpler and stronger than JMS, and has a simpler deployment/connection model.

If you're GigaSpaces-averse for some reason ("yikes, someone makes money from this") you can look into Blitz as well.

In Feb 2009 another user on SO mentioned , that GigaSpaces is a mature version of JavaSpaces.

Looking at that older question, I start believing that JavaSpaces is dead..??

Have you considered also using something like RMI where it becomes transparent the fact that you are invoking a method on a remote system? Or JMS where you just send and read messages -- and the infrastructure routes them to the right place/process? Or how about another approach where you have a network cache (eg memcached) where both processes can put and get items to/from the cache -- thus allowing for inter-process communication to a certain extent?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM