怎么使用EJB来达到singleton模式
singleton模式是一个在软件工程中非常有用设计模式,
简单的说singleton是一个只有一个全局入口的类的实例。
通常的,你将在java中定义类时使用static保留字来创建
一个singleton。然而,EJB的一个限制就是不能在你的
bean中使用static的字段。这妨碍了对singleton模式的使
用。不过我们仍喜欢使用singleton模式,怎么做呢?
答案是JNDI。你能使用JNDI去存储任意的对象来
模拟singleton模式。如果所有你的对象知道在一个JNDI树
中一个单个的,有名的位置,在那保存着一个特定的对象,
他们将有效的将那个对象作为一个单独的实例来对待。你能
通过绑定一个RMI_IIOP stub到一个JNDI树来做到这点。
任何客户端的代码将得到那个远程stub的一个拷贝,并且
每个拷贝将指回到同一个RMI-IIOP服务器对象…
这个模式的缺点是你离开了EJB沙箱并且降格到通过
RMI-IIOP,并且你失去了所有EJB提供的服务。