0
我正在设计一个由EJB3 beans组成的Java EE 6应用程序的一部分。部分要求是多次并行(比如几百次)数据库搜索。单个搜索具有不同的搜索参数(开始时间,结束时间,查询过滤器)。参数可能随时间而改变。EJB3实例之间的通信(Java EE bean间通信)可能吗?
目前我正在考虑以下内容:
SearchController
(无状态会话Bean)形成一组搜索参数,通过JMS把它发送到SearchListener
SearchListener
(消息驱动Bean)接收搜索参数,实例化具有参数的SearchWorker
SearchWorker
(SLSB)通过数据库重复搜索;当它发现某些东西时,通过JMS发送结果,并继续搜索;当给定的“结束时间”已经达到了,它结束
什么我现在想知道:
- 是否有问题,与天运行EJB3实例? (除此之外,我需要能够处理容器重启......)
- 如何知道
SearchWorker
当前正在运行多少个EJB实例? - 是否可以单独与它们进行通信(类似于将System V信号发送到unix进程)发送新参数,结束实例等。