Beispiel: Verbindungen mit Parallelität verwenden

Eine ausführbares oder aufrufbares Objekt kann die Verbindungen verwenden, die die erstellende Komponente über die java:comp-Ressourcenreferenzen erhalten hat.

Weitere Informationen zu Ressourcenreferenzen finden Sie im Artikel "Referenzen". Es folgt ein Beispiel für eine Task, die Verbindungen ordnungsgemäß verwendet:

class GoodTask implements Callable<Object> 
{
   	DataSource ds;
   public Task() throws NamingException
   {   
      		// Verbindungsfactory oder Datenquelle als
        // Klasseninstanzdaten zwischenspeichern.
      InitialContext ic = new InitialContext();
      	 // Es wird angenommen, dass für die erstellte Java EE-Komponente die folgende
		      // Ressourcenreferenz im Implementierungsdeskriptor definiert ist.
      		ds = (DataSource)ic.lookup("java:comp/env/jdbc/myDataSource");
   }
   	// Wenn die Asynchronous-Bean-Methode aufgerufen wird, rufen Sie eine Verbindung ab,
   	//  verwenden Sie diese, und schließen Sie sie dann.
   public Object call() throws SQLException
   {
      try (Connection c = ds.getConnection()) {
             // Verbindung jetzt verwenden.
             return someResult;
      }
   }
} 

Es folgt ein Beispiel für eine Task, die Verbindungen nicht ordnungsgemäß verwendet:

class BadTask implements Callable<Object> 
{
   	DataSource ds;
   	// Diese Angabe darf nicht gemacht werden. Verbindungen
    // können nicht über Methodenaufrufe zwischengespeichert werden.
   	Connection c;

   public BadTask() throws NamingException, SQLException
   {
      		// Verbindungsfactory oder Datenquelle als
        // Klasseninstanzdaten zwischenspeichern.
      InitialContext ic = new InitialContext();
      		ds = (DataSource)ic.lookup("java:comp/env/jdbc/myDataSource");
      		// Hier wurden die Regeln nicht beachtet...
      		c = ds.getConnection();
   }

   // Wenn die Methode aufgerufen wird, verwenden Sie unzulässigerweise die
   // zwischengespeicherte Verbindung, und Sie werden zur Laufzeit voraussichtlich
	  // eine Reihe von Ausnahmen zu J2C sehen.
   public Object call()
   {
      // Verbindung jetzt verwenden.
      return someResult;
   }
} 

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



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