Ashynchronous Data Transfer using Java

Discussions

EJB programming & troubleshooting: Ashynchronous Data Transfer using Java

  1. Ashynchronous Data Transfer using Java (4 messages)

    I want to do data transfer from my application to some third party application. Both the applications are J2EE applications. We tried using JMS (publish - Subscribe) method for doing this. But performance wise, it is not so good for our application. I am looking for some alternative to JMS. Please guide me if any body knows some other way to post a message to third party application asynchronously... Regards, Sandip
  2. Hi Sandip, I have been using JMS for many asynchronous comminucation work but haven't faced this type of performance issue yet. Have you analysed, where does this performance bottleneck exist? Is it when reading from the Queue or publishing to the queue? May be it is due to the JMS implementation you are using. What is the JMS implementation you are using? According to my experience Joram is a good JMS implementation. Regards, Kamal Mettananda
  3. Re: Ashynchronous Data Transfer using Java[ Go to top ]

    Sandip, One alternative is to use a Data Fabric product such as GemStone's GemFire or Tangosol Coherence. Data Fabric data infrastructure technology is the next generation of earlier distributed caching concepts and (due to years of customer experience and product refinement) goes very far beyond the original JCache JSR. These products offer you a range of async (and sync) replication/data transfer models tuned for the fastest possible performance. These include fire-and-forget over TCP or reliable multicast and very fast store-and-forward queuing that uses the memory-copy model for HA (i.e. you get high availability of the messaging queue without the need for slow disk writes). The use of a message broker as part of your solution may also introduce more latency and potential failure points. GemStone's GemFire uses the fastest possible model--with no message broker (all point-to-point) and very fast HA. Another nice feature of these products is that you can do alot of productive tuning and performance analysis with simple config changes and monitoring tools. Retrofitting them into your existing application should be quite straightforward--all you'll need to do is interact with a Map interface and setup some init/config logic. Cheers, Gideon GemFire--The Enterprise Data Fabric http://www.gemstone.com
  4. One alternative is to use a Data Fabric product such as GemStone's GemFire or Tangosol Coherence.
    I'm still a bit curious though why JMS wouldn't be performant enough, unless the message is going through a router (i.e. not point to point) and/or being written to a database or file (i.e. not in-memory) and/or part of a 2PC transaction (i.e. something as ugly as XA). JMS definitely doesn't _have_ to be slow .. Peace, Cameron Purdy Tangosol Coherence: Clustered Shared Memory for Java
  5. If you are given up on JMS...for good reasons i suppose -))... you need a polling mechanism looking for a change or preconfigured frequency to look for a change in the topic (which is your custom data source)...i am worried to give this solution because it is very arcane way of doing asynchronous processing.... two servlets in separate j2ee apps.. one as a polling servlet and other as the push (data transfer servlet)... in the init methods of polling and push - initialization needs to be taken care of.... Bhagvan K http://www.jroller.com/page/bhagvank