Bibliotheken

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Habe eine Applikation, die per RMI auf meinen JBOSS 403 zugreift.

In der Applikation sind Klassen, die den Import von

Code:
javax.ejb.EJBException 
javax.ejb.EJBObject 
javax.ejb.EJBHome 
u.a.

nötig machen. Daher habe ich die Datei jbossall-client.jar vom JBOSS/Client-Verzeichnis in mein Projekt in /lib kopiert und eingebunden.
Das funktioniert auch.

Das Problem ist nur, wenn ich einen anderen Applikationsserver nutze, z.B. JBoss 4.2.2, gibt es schon Kompatibilitätsprobleme, so dass ich praktisch für jeden AS ein eigenes Projekt erzeuge.

Wie gehe ich vor, dass die benötigten Bibliotheken und Klassen nicht mehr im Projekt in /lib platziert werden, sondern zur Laufzeit vom Applikationserver geladen werden?
 
G

Guest

Gast
ich brauche die libs, nämlich bei folgendem Aufruf zur ear


Code:
Object ref=initial.lookup("projektname_klassenname"); 

javax.ejb.EJBMetaData meta=((javax.ejb.EJBHome)ref).getEJBMetaData(); 
javax.ejb.EJBHome home=(javax.ejb.EJBHome)javax.rmi.PortableRemoteObject.narrow(ref,meta.getHomeInterfaceClass()); 
                    
Class classH=home.getClass(); 
Method meth1=classH.getMethod("create",(Class[])null); 
Object doservice=meth1.invoke(home,null);

Wie muss ich den o.g. Code ändern, ohne Nutzung von javax.ejb.EJBMetaData und javax.ejb.EJBHome?
 

lhein

Top Contributor
Diese Imports fangen mit javax an und sind somit sicher keine Erfindung von JBoss.
Die genannten Packages sollten sich in einer Lib "j2ee.jar" befinden, die Bestandteil von J2EE ist.

Es ist somit egal, mit welcher JBoss Version du arbeitest.

Grüße
lhe
 
G

Gast

Gast
aber das eclipse meldet keine Problem ...
zur Laufzeit gibt es dann eine Exception
 
T

tuxedo

Gast
Gast hat gesagt.:
aber das eclipse meldet keine Problem ...
zur Laufzeit gibt es dann eine Exception

Die da wäre?

Nebenbei: Was hat das mit Netzwerk zu tun? Sieht mir eher nach einem Classpath oder ähnlichem Problem aus.


Gruß
Alex
 
G

Gast

Gast
Folgende Exception mit eingebundener javaee.jar zur Laufzeit:

Exception in thread "Thread-7" javax.ejb.EJBException: nested exception is: java.lang.NullPointerException
java.lang.NullPointerException
at src.ClientSQL.provideBaseAndUserConfiguration(ClientSQL.java:106)
 
T

tuxedo

Gast
Und was geschiet an besagter Stelle im Code? Also in "ClientSQL.java, Zeile 106"?

Hast du mal versucht zu debuggen?

- Alex
 
G

Gast

Gast
Das ist ein Log für mögliche Rückmeldungen der Db
} catch (Exception e) {
...
[106] SetMinorFunction.sessionLogAdd("("+e.getStackTrace().getLineNumber()+") "+e.getMessage());

, wenn ichs auskommentiere, kommt keine Exception, aber die Db übergibt mir keine Daten mehr.
 
T

tuxedo

Gast
Na dann debug doch mal was da genau "null" ist. "sessionLogAdd" sieht mir nach einer statischen Methode in "SetMinorFunction" aus?

- Alex
 
G

Gast

Gast
e.cause: NullPointerException
detailMessage:null
stackTrace:null

glaub', javaee.jar ist eher für Sun GlassFish gedacht ist
 

semi

Top Contributor
Geh mal auf die Projekteinstellungen und füge 'Serveruntime' -> "Server deiner Wahl" ins Projekt ein.
Wechselst du den Server, schmeisst du die Library raus und fügst die neue hinzu. Das ganze setzt
voraus, dass du einen Server in Eclipse eingerichtet hast.
 

lhein

Top Contributor
Da es sich hier um eine NullpointerException handelt, scheint es mit dem Imports / Classpath mal kein Problem zu geben. Gegen Programmier- und Logikfehler ist natürlich noch kein Allheilmittel gewachsen. Und hier ohne Sourcecode den Heilpraktiker zu spielen, hat sicher auch keiner Lust.

lhe
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben