[英]Externalizing resource adapter configs from standalone.xml in Jboss-as 7.1.1
[英]Externalizing MDB configurations in Jboss 7.1.1
我使用 Jboss 作為 7.1.1,我有我的 EJB MDB 注釋,如下所示:
@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destination", propertyValue = "XXX.IN"),
@ActivationConfigProperty(propertyName = "useJNDI", propertyValue = "false"),
@ActivationConfigProperty(propertyName = "hostName", propertyValue = "XXX.com"),
@ActivationConfigProperty(propertyName = "port", propertyValue = "3434"),
@ActivationConfigProperty(propertyName = "queueManager", propertyValue = "A01"),
@ActivationConfigProperty(propertyName = "channel", propertyValue = "CLIENT.TO") }, name = "MQMDB")
public class MyMessageListener implements MessageListener {
...
}
我知道它可以移到 ejb-jar.xml 但我可以將這個配置移出代碼並移到 jboss standalone.xml 文件中嗎?
原因是我們將為每個環境(如開發、測試和實時)使用單獨的 standalone.xml,因此更願意將所有配置移出應用程序部署。
謝謝!
外部化配置的最簡單方法是將激活屬性放在 ejb-jar.xml 文件中:
<activation-config-property>
<activation-config-property-name>hostName</activation-config-property-name>
<activation-config-property-value>${wmq.host}</activation-config-property-value>
</activation-config-property>
請注意,該值使用屬性替換語法:
${wmq.host}
根據需要為要替換的值添加屬性。
然后,在您的 standalone.xml 中,確保啟用了規范替換:
<subsystem xmlns="urn:jboss:domain:ee:1.2">
<spec-descriptor-property-replacement>true</spec-descriptor-property-replacement>
<jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
<annotation-property-replacement>false</annotation-property-replacement>
</subsystem>
最后,將您的屬性添加到您的 standalone.xml 文件中:
<system-properties>
<property name="wmq.host" value="10.0.0.150"/>
<property name="wmq.port" value="1414"/>
<property name="wmq.queue.manager" value="MY.QUEUE.MANAGER"/>
不用ejb-jar.xml也可以,添加
<annotation-property-replacement>true</annotation-property-replacement>
在
<subsystem xmlns="urn:jboss:domain:ee:4.0">
並在您的 mdb 類中設置屬性,如下所示
@ActivationConfigProperty(propertyName = "hostName", propertyValue = "${hostName}")
在 standalone.xml 中定義系統屬性
<system-properties>
<property name="hostName" value="1.1.1.1"/>
</system-properties>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.