Beim Deployment einer EJB, die BeanConnect für Outbound-Kommunikation nutzen soll, müssen Sie die EJB mit dem BeanConnect Deployment verknüpfen. Die folgenden Dateien sind für das Deployment einer EJB relevant:
Code-Datei der EJB (
.java
- oder.class
-Datei)Standardisierter Deployment Descriptor der EJB (
ejb-jar.xml
)Application Server spezifischer Deployment Descriptor der EJB (bei Oracle WebLogic Server:
weblogic-ejb-jar.xml
)Application Server spezifischer Deployment Descriptor für den Resource Adapter (bei Oracle WebLogic Server:
weblogic-ra.xml
)
Beim Deployment einer EJB wird die vom Bean-Entwickler benutzte Ressourcenreferenz dem Application Server über den Deployment Descriptor der EJB bekannt gemacht. Zusätzlich wird der Ressourcenreferenz ein Ressourcentyp zugewiesen.
BeanConnect unterstützt die folgenden Ressourcentypen, welche die unterschiedlichen Verbindungsarten repräsentieren, die verwendet werden können:
Bei UPIC-Kommunikation über das BeanConnect-Interface:
net.fsc.jca.communication.EISUpicConnectionFactory
Bei UPIC-Kommunikation über das CCI-Interface:
net.fsc.jca.communication.cci.BCUpicConnectionFactory
Der Ressourcentyp muss in folgenden Dateien angegeben werden:
weblogic-ra.xml
mit dem Tag<connection-factory-interface>
ejb-jar.xml
mit dem Tag<res-type>
Die Abschnitte der Code-Datei der EJB sowie die der Dateien ejb-jar.xml
, weblogic-ejb-jar.xml
und weblogic-ra.xml
, die für das Deployment der EJB relevant sind, werden nachfolgend ausführlich beschrieben. Die fettgedruckten (Teil-)Pfadnamen geben die Beziehungen zwischen den einzelnen Dateien an.
Code-Datei der EJB (
.java
- oder.class
-Datei)Hier findet der JNDI-Lookup für das
ConnectionFactory
-Objekt über eine Ressourcenreferenz (kodierter Name) statt. Im folgenden Beispiel wird die Ressourcenreferenzeis/Part1Dial
verwendet.... cf=(EISConnectionFactory) ic.lookup("java:comp/env/eis/Part1Dial") ...
Deployment Descriptor der EJB (
ejb-jar.xml
)Hier wird die Ressourcenreferenz (
ConnectionFactory
-Objekt) angegeben, auf die die EJB zugreift. Zusätzlich wird der Ressourcenreferenz ein Ressourcentyp zugewiesen. Im folgenden Beispiel wird als Ressourcentyp
verwendet.
net.fsc.jca.communication.EISUpicConnectionFactory<session> <ejb-name>SimpleBeanConnect</ejb-name> ... <resource-ref> <res-ref-name>eis/Part1Dial</res-ref-name> <res-type> net.fsc.jca.communication.EISUpicConnectionFactory </res-type> <res-sharing-scope>Unshareable</res-sharing-scope> ... </resource-ref> </session>
i
Beachten Sie, dass für
<res-sharing-scope>
immerUnshareable
angegeben werden muss.Application Server spezifischer Deployment Descriptor der EJB (bei Oracle WebLogic Server:
weblogic-ejb-jar.xml
)Hier werden den in der Datei ejb-jar.xml definierten EJB-Namen und RessourceReferenzen JNDI-Namen des Application Servers zugeordnet.
<weblogic-enterprise-bean> <ejb-name>SimpleBeanConnect</ejb-name> <jndi-name>ejb/SimpleBeanConnect</jndi-name> <resource-description> <res-ref-name>comp/env/eis/Part1Dial</res-ref-name> <jndi-name>java:comp/env/eis/partner1Dial</jndi-name> </resource-description> </weblogic-enterprise-bean>
Deployment Descriptor für den Resource Adapter (Oracle WebLogic Server:
weblogic-ra.xml
):Hier wird die Connection Factory für das Deployment im Application Server (hier: Oracle WebLogic Server) konfiguriert und über den JNDI-Namen (hier:
partner1Dial
) mit der Ressourcenreferenz verknüpft. Die Konfiguration der Connection Factory im Application Server informiert den Resource Adapter der URL über den Service (im folgenden Code-Fragment:upic://BS2HOST/UTMAPP/INFO
) und den EIS Partner.<outbound-resource-adapter> <connection-definition-group> <connection-factory-interface> net.fsc.jca.communication.EISUpicConnectionFactory </connection-factory-interface> <connection-instance> <jndi-name>eis/partner1Dial</jndi-name> <connection-properties> <properties> <property> <name>ConnectionURL</name> <value>upic://BS2HOST/UTMAPP/INFO</value> </property> ... </connection-properties> </connection-factory-interface> </connection-definition-group> </outbound-resource-adapter
Der für
<connection-factory-interface>
angegebene Wert muss mit dem Wert übereinstimmen, der in der Dateiejb-jar.xml
mit dem Tag<res-type>
angegeben wurde.