`
jayz2010
  • 浏览: 34197 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JBoss5的系统参数替代和jboss.service.binding.set

阅读更多
有一个想法是将jbossweb.sar中的server.xml的8080端口参数化,像这样改

<Connector protocol="HTTP/1.1" port="${jboss.webserver.port:8080}" address="${jboss.bind.address}"
connectionTimeout="20000" redirectPort="8443" />

这样,在启动脚本中就可以指定-Djboss.webserver.port,利用应用服务器的参数替换功能,灵活的指定web端口了。可是随后我发现,一旦这样修改了server.xml,当我们利用jboss.service.binding.set参数指定ports-xxx的端口方案时,它对8080这个端口的变换策略就无效了——如果不指定jboss.webserver.port参数,永远是8080!

因此,在以上修改的前提下,“-Djboss.service.binding.set=ports-01 -Djboss.webserver.port=8180”这个参数组合将会达到不做server.xml修改时使用“-Djboss.service.binding.set=ports-01”同样的效果。

BTW,JBoss5的jboss.service.binding.set实现机制比4.x下修改binding-manager.xml的方式先进一些了,在4.x的时代,8009端口在被binding-manager的xslt处理时,是依赖8080这个数值的(为减71的关系)。也就是说,我们为了实现上面的行为,如果要采用ports-01端口配置,还要照顾8009端口。

经过试验,在JBoss5下,在server.xml中无论怎么折腾8080这个port属性的配置,都不会影响port-o1设定将8009转换为8109,rocks!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics