【转】Weblogic集群判断当前服务器名称

在Weblogic集群环境下,请求被代理服务器动态的分配到多个节点上,如何在程序中判断当前提供服务的是哪个节点呢?

笔者试过取当前服务器IP地址的方法,但如果集群是部署在同一台机器上,那这个方法无效。也试过取服务器端口号,但是由于请求都是从代理服务器转发 过来的,所以通过Request对象取得的端口号实际上是代理服务器的端口号。也试过在程序中加入不同的配置文件来解决,但这样作增加了部署的难度(需要 每个节点单独部署)。

(本文系作者原创,请尊重作者的权利。本文欢迎转载,如转载必须注明作者及出处!)

其实有一个非常简单的作法可以解决这个问题,就是判断JVM的启动参数中的"weblogic.Name"参数。因为在集群情况下,启动 Weblogic Server都是通过启动受管Server的方式,JVM参数中一定会有一个"weblogic.Name"参数,而且这个参数在集群中不允许重复。

                                   
String serverName = System.getProperty("weblogic.Name");
                             

通过这个参数可以很方便的判断当前请求访问的是哪个服务器。

转自:http://www.coolfancy.com/log/46.html

posted @ 2012-07-23 22:17  xiaohuzi2008  阅读(304)  评论(0)    收藏  举报