Ejemplo: utilización de conexiones con simultaneidad

Una tarea Runnable o Callable puede utilizar las conexiones obtenidas por su componente creador mediante referencias de recursos java:comp.

Para obtener más información sobre las referencias de recursos, consulte el tema Referencias. El siguiente es un ejemplo de una tarea que utiliza las conexiones correctamente:

class GoodTask implements Callable<Object> 
{
   DataSource ds;
   public Task() throws NamingException
   {   
      // Almacenar en la memoria caché una fábrica de conexiones o un origen de datos
      // como datos de instancia de clase.
      InitialContext ic = new InitialContext();
      // Se supone que el componente Java EE creado tiene esta
      // referencia de recursos definida en el descriptor de despliegue.
      ds = (DataSource)ic.lookup("java:comp/env/jdbc/myDataSource");
   }
   // Cuando se llame al método de bean asíncrono, obtenga una conexión,
   //  utilícela y ciérrela.
   public Object call() throws SQLException
   {
      try (Connection c = ds.getConnection()) {
             // Utilizar la conexión ahora.
             return someResult;
      }
   }
} 

El siguiente es un ejemplo de una tarea que utiliza las conexiones incorrectamente:

class BadTask implements Callable<Object> 
{
   DataSource ds;
   // No haga esto. No puede almacenar en memoria caché conexiones entre llamadas a método.
   Connection c;

   public BadTask() throws NamingException, SQLException
   {
      // Almacenar en la memoria caché una fábrica de conexiones o un origen de datos como
      // datos de instancia de clase.
      InitialContext ic = new InitialContext();
      ds = (DataSource)ic.lookup("java:comp/env/jdbc/myDataSource");
      // Incumplimiento de las reglas.
      c = ds.getConnection();
   }

   	// Cuando se llame al método, utilice sin permiso la conexión en la memoria caché
   // y probablemente verá excepciones relativas a J2C durante la ejecución.
   public Object call()
   {
      // Utilizar la conexión ahora.
      return someResult;
   }
} 

Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=xasb_connections
File name: xasb_connections.html