2016-08-02 34 views
0

Ich versuche, eine Anwendung mit einer Datenquelle auf JBOSS EAP 6.4 ausführen In der Standalone.xml-Datei ist meine Datenquelle gut definiert. Wenn ich versuche, ein:Datenquelle nicht in JNDI-Umgebung definiert (JBOSS EAP 6)

Context context = new InitialContext(); 
    NamingEnumeration<NameClassPair> list = context.list(""); 
    while (list.hasMore()) 
    { 
     String name = list.next().getName(); 
     System.out.println(name); 
    } 

ich nur bekommen Transaction während ich als auch meine Datenquelle in der standalone.xml als jndi-name = "java: Jboss/Datenquellen/OracleDS" genannt erwartet.

Warum ist meine Datenquelle nicht in der JNDI-Umgebung definiert? Fehle ich etwas Konfiguration?

Antwort

0

Die Context.list(Name) enthält keine Unterkontexte. Mit anderen Worten, Sie können nicht alle registrierten Namen mit context.list("") durchlaufen. Wenn Sie die Datenquellen auflisten möchten, müssen Sie context.list("java:jboss/datasources) verwenden.

Der Grund, warum Sie nur die /TransactionManager erhalten, ist, weil es die einzige ist, die unter dem Root-Namespace definiert ist.