喂!我对Java EE和Stackowerflow都比较陌生,请善待:-)
我有一堆设备触发在任何状态更改时发送的Java消息。这些装置通常有效约30-90分钟。除事件详细信息外,每个事件消息还包含设备ID。
我的应用程序的中心是订阅这些事件的消息驱动bean。每次我收到一个事件,我都必须点击数据库查找有关该设备的一些信息。
如果我可以将有状态会话bean与每个活动设备相关联,那将是非常棒的!如果这是一个Web应用程序,我会使用http会话来存储有状态bean的句柄或引用(我是对的吗?)。有什么方法可以从我的消息bean中归档这个吗?
答案 0 :(得分:2)
这会很好,除非你不能像你解释的那样完成。根据定义,MDB(和SLSB)是无状态的,因此仅在调用期间保持对话是安全的。
您最终可能会破坏规范并在某处创建静态属性(可能在MDB本身中),但这肯定不可移植,也不可扩展。
我的建议是在JPA级别启用缓存(有关详细信息,请参阅首选项的持久性提供程序),这样您就可以非常快速地查找所需的任何数据(非常快)。这是便携式和群集友好的。这就是我在项目中使用它的方式,我对它非常满意。
希望它有所帮助。
答案 1 :(得分:0)
我推荐特定产品并不是那么舒服,但这不是Terracotta服务器这样的需求吗?