Transmitindo Informações sobre o Cliente para um Banco de Dados

Usando uma função de API ou de rastreio do WebSphere Application Server, é possível passar informações exclusivas do cliente sobre cada conexão originada da mesma origem de dados.

Sobre Esta Tarefa

Alguns bancos de dados, como o DB2, suportam uma propriedade customizada de origem de dados que aciona seus servidores de banco de dados para extrair informações do cliente de conexões do WebSphere Application Server. (Consulte a documentação do banco de dados para verificar se seu produto suporta essa capacidade e qual propriedade o produto requer.) No entanto, observe que estas propriedades introduzem funcionalidade limitada no Servidor de Aplicativos. Consequentemente, um gerenciador de conexões do servidor de aplicativos incorre nos comportamentos de risco a seguir, que podem resultar na transferência de informações erradas do cliente para o banco de dados.
  • O gerenciador de conexões não pode alterar dinamicamente as informações do cliente sobre a origem de dados ou as conexões obtidas dessa origem de dados.
  • O gerenciador de conexões deve configurar as mesmas informações do cliente sobre todas as conexões obtidas dessa origem de dados. Por exemplo, se você configurar ApplicationName como parte da propriedade clientInformation da origem de dados, todas as conexões nessa origem de dados terão o mesmo nome de aplicativo.

O Application Server oferece dois métodos de transmitir as informações do cliente que fornecem a flexibilidade de gerenciamento de conexão necessária. O método é usado para configurar as informações do cliente sobre algumas conexões e não sobre outras, bem como configurar informações de clientes diferentes sobre diferentes conexões com o banco de dados a partir da mesma origem de dados.

Procedimento

Exemplo: Configurando Informações do Cliente com a API setClientInformation(Properties)

É possível configurar as informações do cliente do WebSphere Application Server nas conexões para passar essas informações para o seu banco de dados com essa API.

O código de exemplo a seguir chama setClientInformation(Properties) no objeto com.ibm.websphere.rsadapter.WSConnection.

import com.ibm.websphere.rsadapter.WSConnection;
.....
try {
   InitialContext ctx = new InitialContext();
   // Executar uma pesquisa no serviço de nomes para obter o objeto DataSource.
   DataSource ds = (javax.sql.DataSource)ctx.lookup("java:comp/jdbc/myDS");
  }catch (Exception e) {System.out.println("got an exception during lookup: " + e);}

  WSConnection conn=(WSConnection)ds.getConnection();
  Properties props = new properties();
  props.setProperty(WSConnection.CLIENT_ID, "user123");
  props.setProperty(WSConnection.CLIENT_LOCATION, "127.0.0.1");
  props.setProperty(WSConnection.CLIENT_ACCOUNTING_INFO, "accounting");
  props.setProperty(WSConnection.CLIENT_APPLICATION_NAME, "appname");
  props.setProperty(WSConnection.CLIENT_OTHER_INFO, "cool stuff");
  conn.setClientInformation(props);
  conn.close()

Parâmetros

props contém as informações do cliente a serem passadas. Os valores possíveis são:
  • WSConnection.CLIENT_ACCOUNTING_INFO
  • WSConnection.CLIENT_LOCATION
  • WSConnection.CLIENT_ID
  • WSConnection.CLIENT_APPLICATION_NAME
  • WSConnection.CLIENT_OTHER_INFO
  • WSConnection.OTHER_CLIENT_TYPE
Consulte a documentação do WSConnection para obter mais detalhes sobre quais informações de clientes são transmitidas para o banco de dados de backend. Para reconfigurar as informações do cliente, chame o método com um parâmetro nulo.

Exceções

Essa API cria uma exceção SQL se o banco de dados emitir uma exceção ao configurar os dados.


Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_clientinfotask
Nome do arquivo: tdat_clientinfotask.html