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

Konfigurieren von Java-Message-Driven-Beans Websphere und Aktivierung Spezifikation ohne hardcoded JNDI-Namen?

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

Schreibe einen Kommentar