gostaria de saber se toda aplicação JEE deve utilizar o tipo de transação jta-datasource/non-jta-datasource ao invés de poder utilizar RESOURCE_LOCAL.
Com o JBoss não consigo utilizar RESOURCE_LOCAL e com o Tomcat eu consigo.
Abaixo segue o erro que recebo no JBoss quando não defino um datasource:
DEPLOYMENTS IN ERROR:
Deployment "persistence.unit:unitName=#webjpa" is in error due to the following reason(s): java.lang.RuntimeException: Specification violation [EJB3 JPA 6.2.1.2] - You have not defined a jta-data-source for a JTA enabled persistence context named: webjpa
Você está falando do persistence.xml do JPA, certo?
Se for, é assim: ao definir o tipo de transação para RESOURCE_LOCAL, você deve definir o lookup do seu data source na tag . Ao definir o tipo de transação para JTA, você deve definir o lookup do seu data source para .
O JTA é útil para o famoso two-phase commit, mas só é vantagem se sua aplicação conecta em dois bancos, por exemplo. Havendo uma só conexão, usar RESOURCE_LOCAL costuma ser melhor.
adolfo_eloy
Leonardo3001:
Cuma?
Você está falando do persistence.xml do JPA, certo?
Se for, é assim: ao definir o tipo de transação para RESOURCE_LOCAL, você deve definir o lookup do seu data source na tag . Ao definir o tipo de transação para JTA, você deve definir o lookup do seu data source para .
O JTA é útil para o famoso two-phase commit, mas só é vantagem se sua aplicação conecta em dois bancos, por exemplo. Havendo uma só conexão, usar RESOURCE_LOCAL costuma ser melhor.
Exatamente Leonardo. Estou falando do persistence.xml do JPA.
Minha dúvida era de forma mais específica, se para usar entidades EJB3 no JBoss é necessário ou não a utilização de Datasource.
Realizei uma pesquisa no assunto e concluí que realmente para se trabalhar com entidades EJB3 no JBoss é necessário definir um datasource.
Caso queira verificar o resultado da pesquisa e criticar alguma coisa, a mesma pode ser acessada através do link abaixo:
Exatamente Leonardo. Estou falando do persistence.xml do JPA.
Minha dúvida era de forma mais específica, se para usar entidades EJB3 no JBoss é necessário ou não a utilização de Datasource.
Realizei uma pesquisa no assunto e concluí que realmente para se trabalhar com entidades EJB3 no JBoss é necessário definir um datasource.
Caso queira verificar o resultado da pesquisa e criticar alguma coisa, a mesma pode ser acessada através do link abaixo:
Vixi, o cara do blog comeu bola! non-jta-datasource não significa “ausência de datasource”, significa datasource sem JTA. O contrário é jta-datasource -> datasource com JTA.
Pra falar a verdade, eu sempre configurei minhas aplicações pra usar um DataSource do servidor, até mesmo no Tomcat e no Jetty. Então, eu não sei qual o comportamento dos frameworks ao não se usar esse recurso.