2017-02-13 3 views
0

Wir möchten eine EAR bereitstellen, die Message Driven Beans mit JBoss CLI enthält. Für jede Umgebung gibt es verschiedene Aktivierungskonfigurationseigenschaftswerte.Ändern der Aktivierungskonfigurationseigenschaft bei der Bereitstellung über JBoss CLI

Unsere Frage: Ist es möglich, die Werte der Aktivierungskonfigurationseigenschaften nach der Bereitstellung der EAR mit JBoss CLI zu ändern?

Wir wissen, wir könnten property substitution verwenden. Dies scheint jedoch die Aktivierungseigenschaften beim Serverstart festzulegen. Im Gegensatz dazu möchten wir die Werte jederzeit ändern (möglicherweise solange die Anwendung deaktiviert ist).

In 2011 gab es eine similar question. Die Antwort könnte heute veraltet sein. Es schlägt eine Lösung zur Erstellungszeit vor. Das haben wir jetzt und was soll verbessert werden.

Hintergrund: Die MDBS werden von einem IBM Websphere MQ-Ressourcenadapter aktiviert. Der Deskriptor ejb-jar.xml enthält Schnipsel wie die folgenden:

<message-driven> 
    <ejb-name>MyMDB</ejb-name> 
    <ejb-class>com.acme.MyMDB</ejb-class> 
    <messaging-type>javax.jms.MessageListener</messaging-type> 
    <activation-config> 
    <activation-config-property> 
     <activation-config-property-name>hostName</activation-config-property-name> 
     <activation-config-property-value>hostName</activation-config-property-value> 
    </activation-config-property> 
    <activation-config-property> 
     <activation-config-property-name>port</activation-config-property-name> 
     <activation-config-property-value>1415</activation-config-property-value> 
    </activation-config-property> 
    <activation-config-property> 
     <activation-config-property-name>queueManager</activation-config-property-name> 
     <activation-config-property-value>queueManagerName</activation-config-property-value> 
    </activation-config-property> 
    <activation-config-property> 
     <activation-config-property-name>channel</activation-config-property-name> 
     <activation-config-property-value>channelName</activation-config-property-value> 
    </activation-config-property> 
    <activation-config-property> 
     <activation-config-property-name>transportType</activation-config-property-name> 
     <activation-config-property-value>CLIENT</activation-config-property-value> 
    </activation-config-property> 
    <activation-config-property> 
     <activation-config-property-name>useJNDI</activation-config-property-name> 
     <activation-config-property-value>true</activation-config-property-value> 
    </activation-config-property> 
    <activation-config-property> 
     <activation-config-property-name>destination</activation-config-property-name> 
     <activation-config-property-value>java:jboss/queueName</activation-config-property-value> 
    </activation-config-property> 
    </activation-config> 
</message-driven> 

Antwort

2

Der Aspekt Domain wird für Sie nicht hilfreich sein. Dies war in früheren Versionen von JBoss verfügbar. Der zweite Link zu Artikel 180233 besagt im Wesentlichen, dass AOP in den aktuellen JBoss-Versionen nicht mehr unterstützt wird.

MDB-Aktivierungsspezifikationen werden zur Bereitstellungszeit für den MDB-Krug festgelegt. Sie können die Eigenschaftsersetzung wie angegeben verwenden, um Ihre MDB zu konfigurieren. Sie können die Systemeigenschaften im laufenden Betrieb ändern:

/system-property=wmq.port:remove 
/system-property=wmq.port:add(value=1515) 
/system-property=wmq.port:read-resource 

Wenn Sie dann Ihre MDB jar erneut bereitstellen, würde der neue Eigenschaftswert ersetzt werden.

2

Eine mögliche Lösung sein könnte „versuchen Sie Ihr MEB in AspectDomain zu konvertieren“, eine Idee, von dem Sie über den Link unten bekommen könnten:

Wie stellt MDB ActivationConfigProperty zur Laufzeit usi:

https://developer.jboss.org/thread/178162

Weitere Details sollten hier zur Verfügung ng JBoss AOP in JBoss EAP 6

https://access.redhat.com/solutions/180233

+0

Ich fürchte, ich habe keinen Zugriff auf die zweite Ressource. Ich werde jedoch einen Freund bitten, das zu überprüfen. Danke für den Tipp. Die erste Ressource hat einen Kommentar "Das ist eine Konfiguration der Implementierungszeit, die zur Laufzeit nicht geändert werden kann". Brauche ich AOP als Voraussetzung für den zweiten Link? – Claude

+0

@Claude, leider habe ich auch keinen Zugriff auf den Link, aber ich würde Sie ermutigen, googlen. Dieser Link könnte auch hilfreich für Sie sein: http://stackoverflow.com/a/34926075/1925356 –

Verwandte Themen