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

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

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

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

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

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

      更多精彩原创文章请关注笔者的原创博客:http://www.coolfancy.com

扫描二维码关注公众号,回复: 686802 查看本文章

猜你喜欢

转载自fancy888.iteye.com/blog/1604519
今日推荐