Je rencontre un problème lors de l'obtention d'une connexion JDBC dans un EJB SessionBean
. L'erreur est:Erreur lors de l'obtention de la connexion JDBC: Impossible d'inscrire dans la transaction lors de l'entrée de l'objet méta-conscient
org.jboss.util.NestedSQLException: Impossible d'inscrire dans la transaction lors de l'entrée de l'objet méta-conscient !; - imbriqué Throwable:. (Javax.transaction.SystemException: java.lang.Throwable: faire appel ressources désactivé, voir les avertissements précédents
Je pensais que cela arrive, parce que je l'ai déjà une connexion ouverte à partir d'une autre source de données, donc je configuré un XA source de données pour éviter les problèmes de transaction, mais il ne fonctionne pas du tout, donc je ne sais pas si je fais quelque chose de mal dans mon code voici:.
try
{
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
p.put(Context.PROVIDER_URL,"jnp://localhost:11099");
p.put("java.naming.factory.url.pkgs", "org.jboss.naming");
InitialContext ic = new InitialContext(p);
DataSource dataSource = (DataSource)ic.lookup("java:/jdbc/etlreportservices");
return dataSource.getConnection();
}
catch(Exception e)
{
e.printStackTrace();
}
Le une exception est levée lors de l'appel au dataSource.getConnection()
Votre EJB est-il associé à une transaction Anotation? –
La transaction est gérée par le conteneur – rfders
Merci tomás vous m'avez donné une idée, j'ai changé mon gestionnaire de transactions pour qu'il soit géré par bean et cela fonctionne parfaitement – rfders