Fazendo fonte de dados no Glassfish

Estou criando um recurso de pool de conexão JDBC para o GlassFish, usando o Admin Console do servidor.

Um dos campos na página para criar o pool é rotulado como ‘Tipo de recurso’. Este campo tem quatro valores possíveis: javax.sql.DataSource, javax.sql.XADataSource, javax.sql.ConnectionPoolDataSource e javax.sql.Driver, mas o texto de ajuda do ‘assistente’ do pool de conexões Create JDBC não possui muita informação sobre as vantagens e desvantagens dessas escolhas.

Quando solicitado a escolher um tipo de recurso que devo escolher?

Eu estou indo para se conectar a um servidor MySQL local. Seria bom obter uma explicação das diferenças entre as opções na lista suspensa.

insira a descrição da imagem aqui

Abaixo estão os cenários em que você precisaria de cada um dos tipos de resources listados. Espero que isto ajude.

DataSource DataSource Um object DataSource é uma fábrica de objects Connection. Ao usar o DataSource simples, o appserver usa seu próprio pool em vez de nativo.

ConnectionPoolDataSource Um object ConnectionPoolDataSource é uma fábrica de objects PooledConnection. ConnectionPoolDataSource é usado para fornecer access ao PooledConnection, que implementa o pool nativo pelo driver JDBC. Nesse caso, o servidor de aplicativos pode implementar o conjunto de conexões usando essa interface nativa. Consulte a API Java para saber o que é um PooledConnection … Um ConnectionPoolDataSource pode usar uma implementação de terceiros para pooling – tanto quanto eu sei para o Tomcat, por exemplo, o pool de conexão DBCP é usado.

XADataSource Você precisa de um XADataSource se você deseja executar uma transação distribuída. Você deve usar XADataSource em vez de DataSource se o aplicativo

  • Usa a API de transação Java (JTA)
  • Inclui várias atualizações de database em uma única transação
  • Acessa vários resources, como um database e o Java Messaging Service (JMS), durante uma transação