JNDI - JDBC-resource-lookup fehlschlägt, in 7 WAR
Mein code ist nicht in der Lage, das zu tun lookup JDBC-Ressource über JNDI. Ich bin immer folgende exception:
[Root exception is javax.die Benennung.NameNotFoundException: Kontext: ppp-14415Node01Cell/Knoten/ppp-14415Node01/Server/server1, - name: jdbc/admincob: Erste Komponente, die im Namen admincob nicht gefunden. [Root exception is: org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0]]
Ich habe diese 2 Lösung ALSO, aber immer noch seine nicht funktioniert
Websphere 6.1 auf 7 update ibm-web-bnd.xmi zu ibm-web-bnd.xml
Wie Verbinde ich mich mit einem Websphere-Datenquelle mit einem bestimmten JNDI-name?
Hier ist meine ibm-web-bnd.xml
<virtual-host name="default_host" />
<resource-ref name="jdbc/dbcob" binding-name="jdbc/admincob" />
und Teil web.xml
<resource-ref>
<description>
Datasource connection to db</description>
<res-ref-name>jdbc/dbcob</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
Hier ist der screenshot der Bindung:
Lookup-code:
Context initialContext = new InitialContext();
DataSource datasource = (DataSource) initialContext
.lookup("java:comp/env/jdbc/dbcob");
if (datasource != null) {
result = datasource.getConnection();
System.out.println("Data connection retrieved");
result.close();
} else {
System.err.println("Failed to lookup datasource.");
}
Ich nicht sicher bin, was ich bin fehlt. Bitte helfen Sie.
jdbc/admincob
.Auf 8 WAR, die Suche funktioniert nur ohne "java:comp/env/" für mich.
Ich habe versucht, mit Hilfe des initialContext .lookup("jdbc/dbcob"); Es funktioniert immer noch nicht.
Aktualisierte screenshot von datasource
InformationsquelleAutor Raj | 2014-05-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies geschieht, weil die Datenquelle definiert, die im Rahmen
Cell:/Node:14415Node02/Server:server1
(wie in deinem screenshot der Daten-Source-definition), in der Erwägung, dass Ihre Anwendung konfiguriert ist zum ausführen aufCell:/Node:14415Node01/Server:server1
(gemäß der Ausnahme von text, den Sie in der Anlage).In anderen Worten, führen Sie Ihre Anwendung auf dem server
server1
auf Knoten A in der Erwägung, dass die Datenquelle definition bezieht sich auf Knoten B. Dieser Datenquelle können nur gesehen werden von Servern, die stammen aus dem Bereich innerhalb der Knoten BAls Teil des deployment-Prozesses geben Sie den "target mapping" - das ist, welches Modul (in dem OHR) laufen soll, auf welchem(N) server (oder Cluster). Wenn Sie eine Bereitstellung durch die WAR-Verwaltung Benutzeroberfläche, können Sie sich nicht entgehen, dass der Dialog.
Recht.Ich habe eine Karte korrekt, so dass ich dachte, dass etwas falsch mit meiner installation WAR. So, ich habe setup eine neue Instanz, jetzt versuchen, die app aus der neuen Instanz
InformationsquelleAutor Isaac
Ihre Bindung scheint ok zu sein.
java:comp/env/jdbc/dab cob richtig zugeordnet ist jdbc/dbcob.
Das SystemOut.Protokoll der server sollte zeigen, wenn Sie eine Datenquelle gebunden ist, und unter welchem Namen.
Freundlichen GRÜßEN
Robert
InformationsquelleAutor Robert Panzer
Versuchen Sie so etwas wie, dass in Ihrem web.xml Deskriptor:
InformationsquelleAutor trikelef
Martin Baumgartner ist wohl richtig, versuchen Sie, Ihre Suche in:
Dieser wird wahrscheinlich den Fehler beheben
Das ist schlecht beraten: Anwendungen sollte immer eine indirekte Referenz über java:comp/env, sonst werden Sie eng gekoppelt an die Umwelt.
Haben Sie beim erstellen der Datenquelle in WebShere? Können Sie es freigeben der Konfiguration?
Naja, ich auf jeden Fall respektiere deine Meinung. Ich hingegen bin die Art von Kerl, der lieber wirklich funktionierende Anwendungen als begriffliche Konventionen, die manchmal, nicht arbeiten oder komplexer zu bedienen. Aber du hast Recht, wenn der DS definiert ist und die Zuordnungen korrekt sind java:comp/env funktionieren sollte. Sache ist, ich habe viele gesehen, WebSphere-und WebLogic-Implementierungen, in denen die Entwickler/admins einfach ignoriert, die richtigen Zuordnungen für die Einfachheit und als hat den namespace und es funktioniert.
Ja, ich habe eine Datenquelle in Websphere. Ich habe auch angepingt es mithilfe der Schaltfläche Verbindung Testen. Ich überprüft C:\Program Files\IBM\WebSphere\AppServer1\profiles\AppSrv01\config\cells\ppp-14415Node01Cell\resources.xml, aber ich nicht in der Lage, suchen Sie eine JDBC-Ressource namens admincob. Aber das JDBC-Ressource ist sichtbar in der Administration GUI, ist es eine andere Datei, welche die JDBC-Konfiguration ?
InformationsquelleAutor groo