簡體   English   中英

帶有IBM MQ的JBoss的消息驅動bean外部配置

[英]Message Driven bean external configuration for JBoss with IBM MQ

我正在使用JBoss eap 6.1環境中的IBM MQ消息傳遞提供程序開發Notification Service。 我成功地通過MQ JCA提供程序rar即wmq.jmsra.rar文件發送消息。 但在消費者方面,我目前的配置如下所示

    @MessageDriven(   
    activationConfig = {   
            @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),   
            @ActivationConfigProperty(propertyName="destination", propertyValue="F2.QUEUE"),
            @ActivationConfigProperty(propertyName="providerAdapterJNDI", propertyValue="java:jboss/jms/TopicFactory"),
            @ActivationConfigProperty(propertyName="queueManager", propertyValue="TOPIC.MANAGER"),
            @ActivationConfigProperty(propertyName="hostName", propertyValue="10.239.217.242"),
            @ActivationConfigProperty(propertyName="userName", propertyValue="root"),
            @ActivationConfigProperty(propertyName = "channel", propertyValue = "TOPIC.CHANNEL"),
            @ActivationConfigProperty(propertyName = "port", propertyValue = "1422")   

    }) 

我的問題是該服務的使用者不希望在這些bean中添加任何端口號,hostName,queueManager屬性。 他們也不想使用ejb-jar.xml來外化這些配置。 我研究並發現我們可以添加一個域IBM Message Driven Bean但沒有成功。 關於我在這里可以做什么以外部化所有這些配置的任何建議?

編輯:添加 - > JCA資源適配器部署在消費者端,如果它更容易。

謝謝

實際上,您可以將MDB激活規范屬性外部化到服務器配置文件。

創建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>

為所有所需屬性執行此操作。

確保在服務器配置文件中啟用了對Java EE規范文件(在本例中為ejb-jar.xml)的屬性替換:

<subsystem xmlns="urn:jboss:domain:ee:1.2">
   <spec-descriptor-property-replacement>true</spec-descriptor-property-replacement>

然后,在服務器配置文件中,為您的屬性提供值:

<system-properties>
    <property name="wmq.host" value="10.0.0.150"/>

打包MDB后,您無需更改MDB jar中的任何文件 - 只需提供服務器配置中的屬性即可。

您可以避免在MDB中添加主機名,端口號等,您只想在MDB中定義destinationType,以及您可以在應用程序服務器中配置的其他內容,如激活規范,隊列和隊列連接工廠。 我做了同樣的事情,但我使用的是IBM Websphere Application Server。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM