Acessando Dados Usando Conectores Java EE Connector Architecture
Para acessar dados de um aplicativo compatível com JCA (Java™ EE Connector Architecture) no WebSphere Application Server, configure e use adaptadores de recursos e connection factories.
Sobre Esta Tarefa
Um componente do aplicativo utiliza uma connection factory para acessar uma instância de conexão, que o componente, então, utilizará para conectar ao EIS (enterprise information system) subjacente. Os exemplos de conexões incluem conexões com o banco de dados, conexões com o Java Message Service e com o SAP R/3.
Como indicado na especificação JCA (Java EE Connector Architecture), cada EIS (enterprise information system) precisa de um adaptador de recursos e de uma connection factory. Essa connection factory será, então, acessada por meio do modelo de programação a seguir. Se você usar ferramentas do Rational Application Development, a maioria dos seguintes descritores de implementação e códigos serão gerados para você. Este exemplo mostra o método manual para acessar um recurso EIS.
Procedimento
Exemplo
O segmento de código a seguir mostra como um componente de aplicativo pode criar uma interação e implementá-la no EIS:
javax.resource.cci.ConnectionFactory connectionFactory = null;
javax.resource.cci.Connection connection = null;
javax.resource.cci.Interaction interaction = null;
javax.resource.cci.InteractionSpec interactionSpec = null;
javax.resource.cci.Record inRec = null;
javax.resource.cci.Record outRec = null;
try {
// Localize o componente do aplicativo e execute uma procura de JNDI
javax.naming.InitialContext ctx = new javax.naming.InitialContext();
connectionFactory = (javax.resource.cci.ConnectionFactory)
ctx.lookup("java:comp/env/eis/myConnection");
// crie uma conexão
connection = connectionFactory.getConnection();
// Crie uma Interação e um InteractionSpec
interaction = connection.createInteraction();
interactionSpec = new InteractionSpec();
interactionSpec.setFunctionName("GET");
// Crie um registro de entrada
inRec = new javax.resource.cci.Record();
// Execute uma interação
interaction.execute(interactionSpec, inRec, outRec);
// Processe a saída...
} catch (Exception e) {
// Tratamento da exceção
}
finally {
if (interaction != null) {
try {
interaction.close();
}
catch (Exception e) {/* ignorar a exceção */}
}
if (connection != null) {
try {
connection.close();
}
catch (Exception e) {/* ignorar a exceção */}
}
}