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一個地方就行了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM