Weblogic集群判断当前服务器名称
在Weblogic集群环境下,请求被代理服务器动态的分配到多个节点上,如何在程序中判断当前提供服务的是哪个节点呢?笔者试过取当前服务器IP地址的方法,但如果集群是部署在同一台机器上,那这个方法无效。也试过取服务器端口号,但是由于请求都是从代理服务器转发过来的,所以通过Request对象取得的端口号实际上是代理服务器的端口号。也试过在程序中加入不同的配置文件来解决,但这样作增加了部署的难度(需要每个节点单独部署)。
其实有一个非常简单的作法可以解决这个问题,就是判断JVM的启动参数中的"weblogic.Name"参数。因为在集群情况下,启动Weblogic Server都是通过启动受管Server的方式,JVM参数中一定会有一个"weblogic.Name"参数,而且这个参数在集群中不允许重复。
String serverName = System.getProperty("weblogic.Name");
通过这个参数可以很方便的判断当前请求访问的是哪个服务器。
更多精彩原创文章请关注笔者的原创博客:http://www.coolfancy.com
页:
[1]