Definir Informações do Cliente Implicitamente

Se você rastrear informações no banco de dados, poderá escolher uma de duas maneiras de transmitir os dados do cliente do WebSphere Application Server nas conexões com o banco de dados.

É possível escolher transmitir explicitamente as informações sobre conexões chamando uma API proprietária da IBM®, setClientInformation(Properties), no objeto com.ibm.websphere.rsadapter.WSConnection dentro de seu código do aplicativo. O objeto com.ibm.websphere.rsadapter.WSConnection está localizado no arquivo plugins_root/com.ibm.ws.runtime.jar. Em alguns casos, entretanto, convém que o WebSphere Application Server controle a transmissão de informações do cliente para as conexões com o banco de dados. Esse método de configurar as informações do cliente é conhecido como implícito. Você pode escolher o método implícito porque:
  • Deseja manter seu aplicativo livre de APIs patenteadas ou
  • Seu aplicativo utiliza CMP (Container-managed Persistence), nesse caso você não poderá usar a API proprietária para configurar as informações do cliente nas conexões com o banco de dados.

O recurso de rastreio do WebSphere Application Server fornece a capacidade de configurar as informações do cliente implicitamente. Você pode atribuir um dos dois grupos especiais de rastreio para ativar ou desativar a transmissão de informações do cliente: Rastreio WAS.clientinfo ou Rastreio WAS.clientinfopluslogging.

Possíveis Cenários de Uso

  • Compartilhamento de conexões

    No caso de compartilhamento de conexão, o WebSphere Application Server define as informações do cliente na primeira identificação de conexão adquirida apenas. Se o compartilhamento da conexão estiver ativado e dois ou mais métodos getConnection forem chamados (resultando em duas manipulações na mesma conexão), apenas a primeira chamada getConnection fará com que as informações do cliente sejam transmitidas ao banco de dados backend. Este cenário não se aplica ao processo explícito de transmissão de informações do cliente; nesses casos, cada método setClientInformation é retransmitido para o banco de dados independentemente do compartilhamento da conexão.

  • Coexistência Implícita/Explícita
    Quando você utiliza ambos os procedimentos, explícito e implícito, para retransmitir informações do cliente, dados definidos explícita e implicitamente são combinados, mas a definição explícita geralmente tem precedência. Por exemplo, se o aplicativo definir as informações de contabilidade do cliente para "myAccountingInfo", a cadeia accountingInfo final transmitida ao banco de dado de backend será semelhante ao seguinte código de amostra:
    000325_WSRdbManagedConnectionImpl@1234_myAccountingInfo: 
    Em que 000325 é o ID de encadeamento e WSRdbManagedConnectionImpl@1234 é a instância de conexão do WebSphere.
  • Reconfiguração de Informações do Cliente

    Quando você configura o Application Server para transmitir informações do cliente, ele reconfigura as informações do cliente quando uma conexão é retornada ao conjunto, mas apenas se os mecanismos de rastreio WAS.clientinfo e WAS.clientinfopluslogging estiverem desativados (ou seja, WAS.clientinfo=all=disabled:WAS.clientinfopluslogging=all=disabled).

    No caso explícito, entretanto, a operação de reconfiguração é feita somente quando o aplicativo emite setClientInformation(null) na conexão WSConnection.

Rastreio WAS.clientinfo

Por padrão, o mecanismo implícito está desativado. Você pode ativar esse mecanismo dinamicamente, sem parar e iniciar o servidor de aplicativos, ou estaticamente, configurando o grupo de rastreio WAS.clientinfo=all=enabled do WebSphere Application Server.

[AIX Solaris HP-UX Linux Windows][IBM i]As informações coletadas implicitamente e definidas na conexão do banco de dados consistem no nome do usuário, local do usuário e nome do aplicativo.

[z/OS]As informações coletadas implicitamente e definidas na conexão com o banco de dados consistem no ID do encadeamento, nome do usuário, local do usuário e nome do aplicativo.

Importante: Nome do usuário e local do usuário podem ser coletados e configurados implicitamente apenas na conexão do banco de dados, se ativar o Java™ 2 security.
[z/OS]ID do Encadeamento
[z/OS]Um valor hexadecimal de oito caracteres que identifica o encadeamento Java que controla o processamento do pedido do aplicativo no WebSphere Application Server. Este ID é exibido no cabeçalho do rastreio.
user name
O nome do usuário que inicia o pedido do aplicativo. Essa opção será coletada e transmitida para o banco de dados backend (quando suportado). As informações aqui são coletadas chamando o método WSSecurityHelper.getFirstCaller.
user location
O nome do local do usuário, no formato célula:nó:servidor. Essa opção será coletada e transmitida para o banco de dados backend (quando apropriado). As informações aqui são coletadas chamando o método WSSecurityHelper.getFirstServer.
nome do aplicativo
O nome do aplicativo em execução. Este valor é a saída do método getApplication a partir do objeto Nome do Java EE. Esse valor é coletado independentemente da definição de Segurança Global.

Rastreio WAS.clientinfopluslogging

Ao depurar problemas de banco de dados, como conflitos, há um conjunto de informações que podem ajudar no esforço de depuração. Essas informações normalmente são obtidas ao ativar um rastreio do WebSphere Relational Resource Adapter (RRA), um rastreio de contêiner do Enterprise JavaBeans (EJB). No entanto, existem alguns casos em que o tempo é uma preocupação ao reproduzir um determinado problema. Ter muitas informações de rastreio pode alterar o comportamento do aplicativo (como alterar a cronometragem) e o problema pode não ocorrer mais.

Em decorrência dessa situação, um novo grupo de rastreio é fornecido, em que apenas um conjunto mínimo de informações é coletado. Esse grupo de rastreio é o WAS.clientinfopluslogging. Essa função configura as informações do cliente implicitamente na conexão, tal como o rastreio WAS.clientinfo, e registra e rastreia atividades importantes do aplicativo. Essas atividades são:
  • As sequências SQL que são executadas (por exemplo, select userId from tabl1 where id=? for update).
  • Start, commit e rollback de transações.
  • Chamadas EJB (por exemplo, Criar, Remover, findByPrimaryKey).

Ícone que indica o tipo de tópico Tópico de Referência



Í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=rdat_impclientinfo
Nome do arquivo: rdat_impclientinfo.html