Em cada transação, o bean de sessão precisa utilizar a interface local para chamar quaisquer beans corporativos CMP (Container-managed Persistence). As interfaces remotas de beans corporativos CMP não são suportadas e causarão um comportamento inesperado. Portanto, certifique-se de que seu bean de sessão utiliza uma interface local para chamar o bean corporativo CMP. Se alguns beans de sessão estiverem envolvidos na mesma transação que acessa EJBs CMP com suporte ao Proxy DataSource, todas as chamadas a esses beans de sessão deverão utilizar interfaces locais. Nenhuma interface remota pode ser utilizada para acessar EJBs CMP com suporte ao Proxy DataSource ou beans de sessão que acessam esses EJBs CMP.
No início de cada transação (método), o bean de Sessão deve especificar a origem de dados que a transação atual utilizará através do método de API WSProxyDataSourceHelper.setCurrentDataSourceJNDIName. Se o bean de sessão não especificar o nome de JNDI da origem de dados, o primeiro nome de JNDI da origem de dados da propriedade personalizada jndiNames da origem de dados do proxy será utilizado e será registrado um aviso.
O problema ocorrido é que a PMI (Performance Monitoring Instrumentation) não está disponível para o cache de instrução utilizado no Proxy DataSource.
O Proxy DataSource utiliza um cache de instrução especial para armazenar em cache as instruções preparadas. Neste release, não existe nenhuma Performance Monitoring Instrumentation para este cache de instrução.
O problema ocorrido é que a conexão de teste não funciona para Proxy DataSource.
O botão Testar Conexão do console administrativo não funcionará para Proxy DataSource. Se você configurar a sua origem de dados proxy corretamente, verá as exceções ao clicar no botão Testar Conexão. Utilizar a função testConnection no MBean não funcionará.
Se desejar certificar-se de que a origem de dados está configurada, clique no botão Testar Conexão das origens de dados subjacentes para a origem de dados proxy. Por exemplo, se a sua origem de dados proxy possui a propriedade customizada jdbc/dsName1;jdbc/dsName2, poderá testar a conexão para origens de dados com o nome de JNDI jdbc/dsName1 e jdbc/dsName2.
Configure o tamanho correto do cache de instrução para uma origem de dados proxy.
Quando criar uma origem de dados proxy, configure o tamanho do cache de instrução como 0 no painel da origem de dados. Configure o tamanho de cache de instrução para a origem de dados proxy utilizando a propriedade customizada statementCacheSizes. Se o valor for um único inteiro, os tamanhos do cache de instrução para todas as origens de dados subjacentes serão definidos com esse valor. Como alternativa, é possível definir o tamanho do cache de instrução para origens de dados subjacentes individuais, utilizando um separador de ponto e vírgula com formato value1;value2;...;value2. Por exemplo, 10;20;30 significa que o tamanho do cache de instrução para a origem de dados subjacente 1 é 10, o tamanho do cache de instrução para a origem de dados subjacente 2 é 20 e o tamanho do cache de instrução para a origem de dados subjacente 3 é 30.
Subsitua a classe auxiliar de datastore ao criar a origem de dados proxy.
No momento, existem apenas dois provedores JDBC de origem de dados proxy para todos os bancos de dados suportados, um para não-XA e um para XA. Especifique a classe auxiliar correta de datastore ao criar as origens de dados. Se uma classe auxiliar incorreta de datastore for especificada, você poderá receber exceções. Por exemplo, se suas origens de dados subjacentes utilizarem o provedor DB2 Universal JDBC, a classe auxiliar de datastore deverá ser substituída como com.ibm.websphere.proxyds.helper.DB2UniversalDSProxyDataStoreHelper.
Se você utilizar beans corporativos cuja connection factory seja mapeada para um proxy datasource, você deverá acessar beans corporativos nas transações globais.
Related reference
Resoluções de Problemas