2009-07-01 4 views
0

Ich erhalte einen Fehler, wenn ich versuche, Verbindung über eine DataSource in Weblogic-Server erstellt. Hat jemand diesen Fehler in der Vergangenheit konfrontiert.Ich erhalte Ausnahme in getConnection-Methode der DataSource.Weblogic Fehler beim Zugriff auf Datenquelle über einen Socket

 

    java.lang.IllegalArgumentException: interface weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_informix_jdbc_IfxSqliConnect_RemoteInterface is not visible from class loader 
    at java.lang.reflect.Proxy.getProxyClass(Proxy.java:337) 
    at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:567) 
    at weblogic.rmi.internal.ProxyStub.newInstance(ProxyStub.java:69) 
    at weblogic.rmi.internal.OIDManager.resolveObject(OIDManager.java:242) 
    at weblogic.common.internal.ChunkedObjectInputStream.resolveObject(ChunkedObjectInputStream.java:81) 
    at weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.resolveObject(ChunkedObjectInputStream.java:328) 
    at java.io.ObjectInputStream.checkResolve(ObjectInputStream.java:1321) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) 
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1835) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1759) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322) 
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:139) 
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:152) 
    at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56) 
    at weblogic.rmi.internal.BasicRemoteRef.unmarshalReturn(BasicRemoteRef.java:233) 
    at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:264) 
    at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:230) 
    at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35) 
    at $Proxy2.getConnection(Unknown Source 

+0

Das sieht fast so aus, als ob Sie versuchen, direkt über RMI auf das DataSource-Objekt zuzugreifen, was mit ziemlicher Sicherheit nicht möglich ist. Ist das die einzige Stack-Spur, oder hast du mehr? – skaffman

+0

Ich habe ein wenig mehr, aber kann es nicht wegen der Datensicherheit veröffentlichen ... Was ich jedoch mache, ist meine eigene DataSource-Klasse zu erstellen, die DataSource.getConnection-Methode kontaktiert.Das DataSource-Objekt wird durch Nachschlagen der Weblogic Connection Pool-Adresse erstellt –

Antwort

0

Es scheint, wie Sie die Datenquelle über eine Steckdose statt aufzublicken den JNDI-Namen der Ressource zuerst zugreifen möchten und an diesem Referenz getConnection aufruft.

0

Sie einfach die Ursache für das Problem finden können, indem Sie versuchen den folgenden Befehl ein:

java utils.dbping ORACLE_THIN scott tiger dbserver1:1561:demo 

Wenn dieser Befehl zurückgibt Erfolg !!!, wissen Sie, Ihre Verbindung zum DB vom Server ist in Ordnung, und Sie haben sich auf Middleware-Einstellungen konzentrieren. Wenn nicht, werden Fehlerdetails angezeigt.

scott = db username 
tiger = db password 
demo = db instance name 

Weitere Informationen finden Sie hier: http://docs.oracle.com/cd/E13222_01/wls/docs81/admin_ref/utils11.html

Java utils.dbping ausführen, stellen Sie sicher, Sie haben ausgeführt setWLSEnv.sh zuerst, um Setup-java lokalen Variablen.