嘿!我对Java EE和Stackowerflow都比较陌生,请注意:-)
我有一堆设备触发Java消息,以便在任何状态改变时发送。这些设备通常在大约30-90分钟的间隔内活动。除了事件细节之外,每个事件消息还包含设备id。
我的应用程序的中心是一个订阅这些事件的消息驱动bean。每次我得到一个事件,我必须访问数据库来查找一些关于设备的信息。
如果我可以将有状态会话bean与每个活动设备关联起来,那就太棒了!如果这是一个web应用程序,我会使用http会话来存储有状态bean的句柄或引用(对吧?)。有没有什么方法可以从我的消息bean中将其存档?
发布于 2009-03-11 03:54:05
这将是很好的,只是它不能像你解释的那样做。MDB(和SLSB)根据定义是无状态的,因此只在调用期间保存会话是安全的。
您最终可以打破规范,在某个地方(可能是在MDB本身)创建一个静态属性,但这肯定是不可移植的,也是不可伸缩的。
我的建议是在JPA级别启用缓存(有关详细信息,请参阅您首选的持久性提供者),这样您就可以非常快地(真的很快)地查找所需的任何数据。这是可移植的,并且对集群友好。这是我在我的项目中使用的方法,我对此非常满意。
希望能有所帮助。
发布于 2009-03-18 15:21:48
我不太愿意推荐特定的产品,但是Terracotta服务器不是这样的吗?
https://stackoverflow.com/questions/632990
复制相似问题