下载本文: 开发WebLogic 集群级别单例服务.pdf

内容预览:

开发WebLogic 集群级别单例服务

翻译:WebLogic中文博客 www.beansoft.biz 译者:刘长炯(BeanSoft@126.com) 日期:2012-4-14

英文原文:http://buttso.blogspot.com.au/2012/03/weblogic-server-singleton-services.html

WebLogic Server已经在多个版本中支持单例服务模式,它可以使服务器维护一个集群级别的配置好的单例服务,在其中的一个受管服务器中产生一个单实例对。这个单例可以迁移到集群中的另一台服务器,可以是自动迁移,例如当前的服务器发生故障,或者通过管理员的操作手动进行。 单例可以配置一个偏好服务器来运行,同时可选择一批可以迁移到的多台服务器名称。该单例可部署为独立的服务,或者作为部署的应用程序的一部分。

关于单例服务器的文档请查看官方网站:

http://docs.oracle.com/cd/E24329_01/web.1211/e24425/service_migration.htm#i1051668

中文版本请查看本站文档:http://www.beansoft.biz/weblogic/docs100/cluster/service_migration.html

有了这个功能之后,很多人经常会问,这个服务能不能在集群中创建一个单例服务,然后别的应用可以去调用它呢?

答案是肯定的,不过这需要我们想一种办法,将这个服务以可远程访问的方式暴露到集群中,这样它就可以通过查找的方式进行调用了。

因为单例只是一个普通的Java类,只需实现接口: weblogic.cluster.singleton.SingletonService ,然后WebLogic服务器就对这个对象进行实例化和管理,这个对象本身并未提供任何对集群中应用可见的调用接口。

如想允许其它应用使用此单例服务,那么在实现基本的单例逻辑功能代码之外,还需要执行下列任务:

  • 向单例服务加入RMI Remote 接口,这样就可使其被集群中的任何服务器访问和调用
  • 单例服务被激活(activated)时,将其自身绑定到集群范围的JNDI树上
  • 单例服务被停用(deactivated)时,将其自身从集群范围的JNDI树上删除

转载请注明:WebLogic Android 博客 » 开发WebLogic 集群级别单例服务