Fehler beim abrufen der JDBC-Verbindung: es Konnte keine gewinnen, die in der Transaktion über die Eingabe von meta-bewusst-Objekt

Ich habe ein problem immer eine JDBC-Verbindung in einem EJB SessionBean. Der Fehler ist:

org.jboss.util.NestedSQLException: Konnte nicht gewinnen, in der Transaktion über die Eingabe von meta-bewusst-Objekt!; - nested throwable: (javax.die Transaktion.SystemException: java.lang.Throwable: Unabled eintragen Ressource, siehe die vorherigen Warnungen.

Dachte ich, das passiert, weil ich bereits eine offene Verbindung aus einer anderen Datenquelle konfiguriert, damit ich eine XA-datasource zu vermeiden, die Transaktion Probleme, aber es funktioniert überhaupt nicht, also weiß ich nicht, wenn ich mache was falsch in meinem code. Hier ist es:

  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();
    }

Ausnahme geworfen wird, während die aufrufende dataSource.getConnection().

  • Ist Ihre EJB-anotated mit einer Transaktion Anotation?
  • Die Transaktion wird container-managed
  • Dank tomás hat Sie mir eine Idee, ich änderte meine Transaktions-manager zu bean-managed und es funktioniert perfekt
InformationsquelleAutor rfders | 2010-09-30
Schreibe einen Kommentar