8
votes

Erreur lors de la connexion JDBC: Impossible de s'enrôler en transaction sur l'entrée d'un objet méta-conscient

J'ai un problème d'obtenir une connexion JDBC dans un EJB SessionBean . L'erreur est:

org.jboss.util.NestéSousception: ne pouvait pas s'enrôler en transaction sur l'entrée de l'objet méta-conscient! - Dispôtible imbriquée: (Javax.Transaction.SystemException: java.lang.themble: non éclairé de ressource, voir les avertissements précédents.

Je pensais que cela se produit, car j'ai déjà une connexion ouverte d'une source de données différente, j'ai donc configuré un xa datasource pour éviter les problèmes de transaction, mais cela ne fonctionne pas du tout , donc je ne sais pas si je fais quelque chose de mal dans mon code. Ici, il est: xxx

L'exception est lancée lors de l'appelant datasource.geconnection () .


3 commentaires

Votre annotation EJB est-elle une annotation de transaction?


La transaction est gérée par le conteneur


Merci tomás tu m'as donné une idée, j'ai changé mon gestionnaire de transactions pour être géré de haricot et ça marche parfaitement


4 Réponses :


-2
votes

J'ai changé mon gestionnaire de transactions pour être géré par le haricot et cela fonctionne parfaitement.


3 commentaires

Ouais, mais comment? Cela ne m'a pas beaucoup aidé. Probablement la bonne réponse mais pas assez approfondie.


Cela aurait été utile si vous avez ajouté du code ou de la description sur la manière de modifier votre gestionnaire de transactions pour être géré.


Avait le même problème et c'était parce que le haricot manquait l'annotation @Transactionmanagement (transactionmanagementtype.bean).



1
votes

Je l'ai remarqué dans les cas où la TX Times Out. FWIW.


0 commentaires

0
votes

Utilisation de JBoss 6.0.0, le message d'erreur est légèrement différent:

causée par: org.jboss.resource.jbossresourceException: ne pouvait pas s'enrôler en transaction sur l'entrée méta-ajout d'objet!


Quant à la raison: une citation de ici

Dans le même processus, deux appels ont été apportés à différentes sources de données non XA. Ceci n'est pas pris en charge par défaut sur JBoss.

Le même site montre une solution qui n'était pas applicable pour JBoss 6.0.0.


La solution générale consiste à modifier toutes les sources de données impliquées dans la même transaction dans les sources de données xa . Ensuite, cela fonctionne à la fois avec Bean géré et transactions gérées . Par exemple, cette solution est proposée dans un Codéranche et dans un Forum JBoss aussi.


0 commentaires

7
votes

peut essayer, Pour vieux jboss-es: /Server/all/conf/jbossjta-properties.xml xxx

pour le nouveau: autonome \ configuration \ standalone.xml (ou autre ce que vous utilisez) xxx


0 commentaires