代码之家  ›  专栏  ›  技术社区  ›  Kimble

EJB3,与有状态会话bean协作的消息驱动bean?

  •  1
  • Kimble  · 技术社区  · 17 年前

    嘿我对JavaEE和Stackowerflow都是比较陌生的,请友善一点:-)

    我有一堆设备触发Java消息,在任何状态改变时发送。这些设备通常每隔30-90分钟激活一次。除事件详细信息外,每个事件消息还包含一个设备id。

    我的应用程序的中心是订阅这些事件的消息驱动bean。每次我得到一个事件,我必须点击数据库,以查找有关该设备的一些信息。

    如果我能将一个有状态会话bean与每个活动设备相关联,那就太棒了!如果这是一个web应用程序,我会使用http会话来存储有状态bean的句柄或引用(对吗?)。有没有什么方法可以从我的消息bean中存档?

    2 回复  |  直到 16 年前
        1
  •  2
  •   Antonio    17 年前

    这会很好,除非不能像你解释的那样做。MDB(和SLSB)根据定义是无状态的,因此仅在调用期间保持对话是安全的。

    您最终可能会打破规范,在某个地方(可能在MDB本身中)创建一个静态属性,但这肯定是不可移植的,也不可伸缩的。

    我的建议是启用JPA级别的缓存(有关详细信息,请参阅您的持久性首选项提供者),这样您就可以非常快速地查找您需要的任何数据。这是可移植的和集群友好的。这是我在项目中使用的方式,我对此非常满意。

    希望能有帮助。

        2
  •  0
  •   Magnus    17 年前

    我不太愿意推荐特定的产品,但Terracotta服务器不是在满足这样的需求吗?

    推荐文章