Liberando e Reconectando Soquetes Persistentes

Uma conexão TCP/IP entre o IMS TM Resource Adapter e o IMS Connect é persistente e permanece aberta para uma conexão do soquete persistente compartilhável e para uma conexão do soquete persistente dedicado, a não ser que ocorra um erro.

O soquete pode fechar quando o IMS TM Resource Adapter ou o IMS Connect encontram um erro ou quando o WebSphere Application Server se desconecta do soquete do gerenciamento do conjunto de conexões.

Em uma conexão do soquete persistente dedicado, a conexão do soquete pode ser usada somente por interações que tenham o mesmo ID de cliente que foi usado para estabelecer a conexão. O número de conexões de soquete aumenta à medida que novos IDs de clientes são usados para interações em conexões de soquetes persistentes dedicados.

Se configurar a propriedade de máximo de conexões e a propriedade de tempo limite de conexão no console administrativo do WebSphere Application Server em um valor não zero, quando o valor de máximo de conexões for atingido e todas as conexões estiverem em uso, o aplicativo receberá uma exceção ConnectionWaitTimeoutException depois de decorrido o tempo limite de conexão. Esse comportamento é um comportamento padrão do WebSphere Application Server. O ConnectionWaitTimeoutException aplica-se aos soquetes persistentes dedicados e aos soquetes persistentes compartilháveis.

Entretanto, se o valor de máximo de conexões for atingido e uma das conexões do soquete persistente não estiver em uso, o WebSphere Application Server desconectará esse soquete para responder à solicitação de criar uma nova conexão do soquete persistente. Esse comportamento padrão do WebSphere Application Server aplica-se a soquetes persistentes dedicados e compartilháveis.

Dica: O WebSphere Application Server tem várias configurações do conjunto de conexões que podem ajudar no gerenciamento do conjunto e na redistribuição de sessões persistentes. Use a configuração de tempo limite expirado para especificar o intervalo em segundos antes do descarte de uma conexão física.
Importante: Se não estiver usando um servidor de aplicativos para ajudar a gerenciar a conexão (também mencionado como um ambiente não gerenciado), para as transações do modo de confirmação (CM0 ou commit-then-send) você mesmo deverá gerenciar a definição do conjunto de conexões. Como as transações CM0 são recuperáveis, o IMS Connect cria um TPIPE separado para cada cliente que usa o CM0. Sem um servidor de aplicativos para gerenciar o conjunto de conexões, diversos TPIPEs serão criados e, assim, sobrecarregarão o sistema.

Reconexão do Soquete

O IMS TM Resource Adapter tem um recurso de reconexão do soquete que tenta restabelecer uma conexão antiga em um conjunto de conexões quando uma das conexões encontra um problema de comunicação no processo de enviar uma solicitação ou de receber uma resposta do IMS Connect.

Quando uma solicitação chega, se o IMS TM Resource Adapter detecta uma conexão antiga, o adaptador lança uma exceção. Quando a solicitação seguinte chega e tenta usar a conexão antiga, o IMS TM Resource Adapter verifica para ver se o IMS Connect está ativo. Se o IMS Connect estiver ativo, o IMS TM Resource Adapter irá se reconectar antes de enviar a solicitação de interação. Quando a conexão é restaurada, uma mensagem informativa ICO0140I é registrada.

Esse recurso de reconexão de soquete aumenta a tolerância a falhas do IMS TM Resource Adapter quando ocorre um problema de conexão de rede temporário. Mais importante ainda, com esse recurso é possível reciclar o IMS Connect como parte da manutenção do sistema sem precisar reenviar nenhuma interação do IMS TM Resource Adapter do aplicativo cliente.

Quando um Sysplex Distributor é usado entre o IMS TM Resource Adapter e o WebSphere Application Server, um conjunto de conexões do WebSphere Application Server poderá ter conexões feitas com mais de um IMS Connect. Se uma das instâncias do IMS estiver sendo reciclada, novas solicitações serão direcionadas a outras instâncias do IMS Connect. Novas solicitações serão enviadas ao IMS Connect somente quando essa instância do IMS Connect tornar-se novamente ativa e se outras instâncias do IMS Connect não puderem manipular a carga de trabalho.

Para ajudar na redistribuição da carga de trabalho entre as instâncias do IMS Connect, você poderá usar a propriedade de tempo limite expirada nas configurações do conjunto de conexões do WebSphere Application Server. Como as conexões com tempo expirado são descartadas, uma nova conexão ajuda a redistribuir a conexão para instâncias do IMS Connect reciclado.

Para uma solicitação de callout, o IMS TM Resource Adapter tentará se reconectar com base nos valores das propriedades retryLimit e retryInterval do IMSActivationSpec. A propriedade retryLimit especifica o número máximo de vezes que o IMS TM Resource Adapter tentará se reconectar ao IMS Connect, se uma conexão for perdida, ou ao IMS, se a conexão com o armazenamento de dados do IMS for perdida. A propriedade retryInterval especifica o atraso, antes da tentativa seguinte, para verificar o status do IMS Connect.


Feedback