Konfigurieren von Java-Message-Driven-Beans Websphere und Aktivierung Spezifikation ohne hardcoded JNDI-Namen?
Wir haben eine MDB-hören auf eine Warteschlange, die Daten Lesen und senden von Daten an eine andere Warteschlange
@MessageDriven(
activationConfig = { @ActivationConfigProperty(
propertyName = "destinationType", propertyValue = "javax.jms.Queue"
) },
mappedName = "jms/dataQ")
public class DataMDB implements MessageListener {
@Resource(name="jms/dataQueueConnectionFactory")
private ConnectionFactory connectionfactory;
@Resource(name="jms/dataDestinationQ")
private Destination destination;
...
}
- und eine XML - (ibm-ejb-jar-bnd.xml) mit bean-Konfiguration
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar-bnd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://websphere.ibm.com/xml/ns/javaee"
xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ejb-jar-bnd_1_0.xsd"
version="1.0">
<message-driven name="DataMDB">
<jca-adapter activation-spec-binding-name="eis/dataListenerMDB"
destination-binding-name="jms/dataQ" />
<resource-ref name="jms/dataQueueConnectionFactory"
binding-name="jms/dataQueueConnectionFactory" />
<resource-env-ref name="jms/dataDestinationQ"
binding-name="jms/dataDestinationQ" />
</message-driven>
</ejb-jar-bnd>
und Aktivierung Spezifikation für diese MDB auf WebSphere
Als ich gesehen habe, die Beispiele über Google, das ist das typische Beispiel dafür, MDB und WAR Aktivierungs-setup.
Wir haben ein problem hier, da alle JNDI-Namen, die hier zu sehen sind hardcoded im Java-code anotations sowie in der ibm-ejb-jar-bnd.xml Datei.
Also gibt es eine Möglichkeit, dass diese JNDI-Namen geholt werden können, die außerhalb des EJB-Projekt, und so konnten wir bauen ein Projekt für alle Kunden, und die Kunden sind frei, haben Ihre Standard-JNDI-Namen.
Sonst müssen wir bauen anders .Ohr für jeden Kunden-und das ist nicht ideal.
Vielen Dank im Voraus Leute.
Alle Ideen sind willkommen.
InformationsquelleAutor naamadheya | 2014-08-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alle definierten Werte in die
ibm-ejb-jar-bnd.xml
Karten Verweise auf die tatsächlichen JNDI-Namen. Dies kann überschrieben werden für jeden Ihrer Kunden während der installation der Anwendung (mapping Referenzen zu JNDI-Namen, die Schritte in der admin-Konsole), nach der Anwendung, der installation oder während der installation mithilfe von Skripts.Die binding-Datei (ibm-ejb-jar-bnd.xml) bietet nur "Standard-Namen", im Fall Sie nicht wollen, Sie zu ändern, während der installation.
InformationsquelleAutor Gas