JCA-Basisressourcenadapter konfigurieren und implementieren

Sie können eine Basis-JCA-Verbindungsfactory (Java™ EE Connector Architecture) einen Basisressourcenadapter konfigurieren und implementieren.

Informationen zu diesem Vorgang

Sie können einen Ressourcenadapter installieren und Instanzen der von ihm bereitgestellten Ressourcen konfigurieren. In dieser Task wird ein Beispielressourcenadapter mit dem Namen ExampleRA.rar verwendet, der 3 Typen von Ressourcen bereitstellt: eine Verbindungsfactory und zwei Typen verwalteter Objekte.

Vorgehensweise

  1. Aktivieren Sie das JCA-Feature in der Datei server.xml. Sie finden die Datei server.xml unter [Pfad_zur_Bibliothek\wlp\usr\servers\Servername].
    <server>
      <featureManager>
        <feature>jca-1.6</feature>
        <feature>servlet-3.0</feature>
      </featureManager>
    </server>
  2. Kopieren Sie die RAR-Datei des Ressourcenadapters (ExampleRA.rar) in den Ordner "dropins" auf Ihrem Server. Wenn Ihr Server aktiv ist, wird in Ihrem Konsolenprotokoll in einer Nachricht wie der folgenden angezeigt, dass der Ressourcenadapter installiert wurde:
    [AUDIT ] J2CA7001I: Der Ressourcenadapter
    ExampleRA wurde innerhalb von
    1.306 Sekunden installiert. 
  3. Untersuchen Sie den Implementierungsdeskriptor, die Annotationen und andere Dokumentationsquellen des Ressourcenadapters, um die Ressourcentypen, die der Adapter bereitstellt, und die Konfigurationseigenschaften, die von jedem Adapter akzeptiert werden, zu ermitteln. Für den Beispielressourcenadapter ExampleRA.rar sind diese Informationen im Implementierungsdeskriptor ra.xml zu finden. Die Datei ra.xml ist im Verzeichnis [Pfad_zu_ExampleRA\ExampleRA\META-INF] enthalten. Der Implementierungsdeskriptor gibt 3 Typen von Ressourcen an, die Sie konfigurieren können.
    <connection-definition>
     <managedconnectionfactory-class>com.ibm.example.jca.adapter.ManagedConnectionFactoryImpl</managedconnectionfactory-class>
     <config-property>
      <config-property-name>tableName</config-property-name>
      <config-property-type>java.lang.String</config-property-type>
     </config-property>
     <connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
     ...
    </connection-definition>
    
        <adminobject>
          <adminobject-interface>javax.resource.cci.ConnectionSpec</adminobject-interface>
          <adminobject-class>com.ibm.example.jca.adapter.ConnectionSpecImpl</adminobject-class>
          <config-property>
            <config-property-name>readOnly</config-property-name> 
            <config-property-type>java.lang.Boolean</config-property-type>
            <config-property-value>false</config-property-value> 
          </config-property>
        </adminobject>
    
        <adminobject>
          <adminobject-interface>javax.resource.cci.InteractionSpec</adminobject-interface>
          <adminobject-class>com.ibm.example.jca.adapter.InteractionSpecImpl</adminobject-class>
          <config-property>
            <description>Function name. Supported values are: ADD, FIND, REMOVE</description>
            <config-property-name>functionName</config-property-name> 
            <config-property-type>java.lang.String</config-property-type> 
          </config-property>
        </adminobject>
  4. Konfigurieren Sie in der Datei server.xml die Instanzen der verfügbaren Ressourcentypen.
    <server>
      <featureManager>
        <feature>jca-1.6</feature>
        <feature>servlet-3.0</feature>
      </featureManager>
    
      <connectionFactory jndiName="eis/conFactory">
        <properties.ExampleRA tableName="TABLE1"/>
      </connectionFactory>
    
      <adminObject jndiName="eis/conSpec">
        <properties.ExampleRA.ConnectionSpec/>
      </adminObject>
    
      <adminObject jndiName="eis/iSpec_ADD">
        <properties.ExampleRA.InteractionSpec functionName="ADD"/>
      </adminObject>
    
      <adminObject jndiName="eis/iSpec_FIND">
        <properties.ExampleRA.InteractionSpec functionName="FIND"/>
      </adminObject>
    
    </server>
  5. Verwenden Sie die Ressourceninjektion, um auf die Ressourcen in Ihrem Servlet zuzugreifen. Beispiel:
        @Resource(lookup = "eis/conFactory")
        private ConnectionFactory conFactory;
    
        @Resource(lookup = "eis/conSpec")
        private ConnectionSpec conSpec;
    
        @Resource(lookup = "eis/iSpec_ADD")
        private InteractionSpec iSpec_ADD;
    
        @Resource(lookup = "eis/iSpec_FIND")
        private InteractionSpec iSpec_FIND;
    
        ...
    
            MappedRecord input = conFactory.getRecordFactory().createMappedRecord("input");
            input.put("city", "Rochester");
            input.put("state", "Minnesota");
            input.put("population", 106769);
    
            Connection con = conFactory.getConnection(conSpec);
            try  {
                Interaction interaction = con.createInteraction();
                interaction.execute(iSpec_ADD, input);
                interaction.close();
            } finally {
                con.close();
            }
    Anmerkung: Sie müssen das JNDI-Feature in der Datei server.xml aktivieren, wenn Sie die Ressourcen im Namespace anstatt über die Injektion ermitteln möchten.

Symbol das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 01.12.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_jca_config_dep
Dateiname: twlp_jca_config_dep.html