Communication between EJB3 Instances (JEE inter-bean communication) possible?

Posted by Hank on Stack Overflow See other posts from Stack Overflow or by Hank
Published on 2010-04-17T09:48:22Z Indexed on 2010/04/17 9:53 UTC
Read the original article Hit count: 355

I'm designing a part of a JEE6 application, consisting of EJB3 beans. Part of the requirements are multiple parallel (say a few hundred) long running (over days) database hunts. Individual hunts have different search parameters (start time, end time, query filter). Parameters may get changed over time.

Currently I'm thinking of the following:

  • SearchController (Stateless Session Bean) formulates a set of search parameters, sends it off to a SearchListener via JMS
  • SearchListener (Message Driven Bean) receives search parameters, instantiates a SearchWorker with the parameters
  • SearchWorker (SLSB) hunts repeatedly through the database; when it finds something, the result is sent off via JMS, and the search continues; when the given 'end-time' has reached, it ends

What I'm wondering now:

  • Is there a problem, with EJB3 instances running for days? (Other than that I need to be able to deal with container restarts...)
  • How do I know how many and which EJB instances of SearchWorker are currently running?
  • Is it possible to communicate with them individually (similar to sending a System V signal to a unix process), e.g. to send new parameters, to end an instance, etc..

© Stack Overflow or respective owner

Related posts about ejb3

Related posts about jee6