• jboss:在standalone.xml中设置系统属性(system-properties)


    就象在.net的web应用中,可以在web.config中设置appSettings一样,jboss的standalone.xml中也可以由开发人员自行添加系统属性,用法如下:

    1     </extensions>
    2 
    3     <system-properties>
    4         <property name="app_name" value="test"/>
    5         <property name="app_desc" value="${app_name} is a demo for jboss properties in standalone.xml"/>
    6     </system-properties>
    7 
    8 
    9     <management>

    注意位置:<system-properties>...</system-properties>要放在</extensions><management>之间,而且可以用"${另一个属性名}"来引用该属性的值,比如上面的${app_name},需要重新启动jboss,这些新定义的属性才会生效

    然后在java代码中,可以参考下面的写法,直接使用:

     1 package controller;
     2 
     3 import javax.inject.Named;
     4 
     5 @Named("Index")
     6 public class IndexBean {
     7     
     8     public String sayHello(){
     9         return System.getProperty("app_name") + ":" + System.getProperty("app_desc");
    10         
    11     }
    12 
    13 }

    放在页面上测试一下:

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     2 <html xmlns="http://www.w3.org/1999/xhtml"
     3       xmlns:h="http://java.sun.com/jsf/html"
     4       xmlns:f="http://java.sun.com/jsf/core"
     5       xmlns:ui="http://java.sun.com/jsf/facelets"> 
     6 
     7 <h:head></h:head> 
     8 <body> 
     9     <h1>#{Index.sayHello()}</h1>
    10 </body> 
    11 </html>

    运行效果:

    tips:通过上一篇的学习,大家已经看到了,如果一个项目中有多个mdb,而且采用jboss-ejb3.xml这种配置方式,在使用IBM MQ的时候,每个mdb都要配置host(即MQ Server的IP或机器名),这个同一个ip就会在xml中硬编码多次,如果MQ Server的IP变了,就得改很多地方,用本文中的技巧,可以在standalone.xml中定义一个mq.server.ip的系统属性,然后在jboss-ejb3.xml中用${mq.server.ip}来引用,这样以后MQ Server的IP修改时,只要改standalone.xml一个地方就行了

  • 相关阅读:
    javascript
    vue-cli3 按需加载loading,服务的方式调用
    chrome devTool
    vuex
    git
    DNS寻址以及IP解析
    es6小记
    webpack 安装vue(两种代码模式compiler 和runtime)
    游戏屏幕朝向
    C#读写Json
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/3567761.html
Copyright © 2020-2023  润新知