erstes Java EE Projekt - Server/ EJB-Verbindung-Anfängerfage

Status
Nicht offen für weitere Antworten.

norbertbaum

Mitglied
Hallo Java-Entwickler,

ich studiere Informatik und wir haben über 2Semester ein Projekt.
ich möchte einen Client schreiben, der auf einen Server zugreift und der Server auf die DB

Client kann nichts - er schickt alles an den Server
Server kann alles - er erstellt pdfs, macht die ganze verarbeitung der DB-daten etc...

ich habe bis jetzt nur in Java2SE gearbeitet!


jetzt mein Eigentliches Problem:

ich habe mir auf meinem Entwicklungs-PC JavaEE mit Sun App Server installiert
- es ist aus NetBeans ein Enterprise Projekt - wo ich einfach nur auf die klassen/Methoden des EJB-Projekts zugreife

ich habe mir jetzt auf meinem Server(anderer PC) JavaEE+SDK+AppServer installiert.
- habe in dem Projekt den neuen server eingetragen
- beim ausführen (nur der client.jar) sagt er mir, das er die klassen von der EJB-ServerProjekt nicht kennt.


wie kann ich dem sagen, wo im Netzwerk der Server steht?
oder ist der AppServer von Sun mist? weil ich viel über JBoss gelesen hatte.


(in C# würde ich es über Webservice machen)



ICH DANKE euch schon einmal :)
 

benders

Aktives Mitglied
Hallo Norbert,

der App-Server von SUN (glassfish V2) finde ich sehr gut.
Ich habe damit schon mehrere Projekte durchgeführt.

1. ) Du kannst es natürlich auch mit WebServices realisieren.

2.) Welchen Projekt-Typ hast Du in Netbeans ausgewählt?

Ich gehe davon aus, das Du eine Enterprise Application erstellt hast.

Wenn Du den Server änderst, musst Du in jedem Teil-Projekt (EJB,App-Client) in den Properties unter RUN den neuen Server eintragen. Dann das ganze Projekt neu deployen.


Bernd
 

norbertbaum

Mitglied
Hallo Bernd,
vielen Dank.
ok da werde ich den glassfish V2 weiter verwenden.

ich muss es nicht als Webservices machen!
Das Projekt hat richtige Clients(kein webfront-end)

ich habe mir noch mal ein neues Enterprise Projekt angelegt.

jetzt ist die einfache frage.
wie komme ich vom client auf klassen/methoden auf dem Server?
Server = EJB - auf glassfish


ich danke dir schon einmal
 

benders

Aktives Mitglied
Hi!

Ich gehe mal davon aus, das Du Dir zu deinen Entities auf Remote-SessionBeans mit Methoden erstellt hast.

Wichtig, ist das Remote.

Wenn Du dann in der Client-Source-Datei bist, klicke bin der RechtenMausTase in den Hintergrund.

Unter Enterprise Resources findest Du Call EnterpriseBeans.

Bernd
 

norbertbaum

Mitglied
so ich poste jetzt mal n bissel Code

EJB-Klassen - die auf den Server sollen!!
testRemote
Code:
package server;
import javax.ejb.Remote;

@Remote
public interface testRemote {

    String os();
}
testBean.java
Code:
package server;
import javax.ejb.Stateless;

@Stateless
public class testBean implements testRemote {

    public String os()
    {
        return System.getProperty("os.name");
    }
 }



Client - Main-Methode

Code:
package test;
import javax.ejb.EJB;
import server.testRemote;

public class Main {
    @EJB
    private static testRemote testBean;

    public static void main(String[] args) {
        testBean = new server.testBean();
        System.err.println(testBean.os());
    }
}


auf dem Sun Server liegen die daten!

java -jar Test-app-client.jar
Exception in thread "main" java.lang.NoClassDefFoundError: server/testRemote
Caused by: java.lang.ClassNotFoundException: server.testRemote
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)

in dem ordner liegt NUR die Test-app-client.jar

ich hoffe du kannst mir helfen
oder muss ich bei den jar noch was reinpacken
 

benders

Aktives Mitglied
Ein Deploy hast Du doch ausgeführt? Oder!

Das Starten der Client-Anwendung geht so nicht!

Probier mal über die Glassfish-Web-Frontend
http//<ip-address>:4848

Anmelden: Standard admin/adminadmin

Unter den Enterprise-Applications sollte Deine Anwendung jetzt auftauchen.

DoppelKlick
app-client suchen - Launch -Launch

Wenn Java-Console aktiviert, siehst Du die Ausgabe!

Bernd
 

norbertbaum

Mitglied
vielen dank!

Geht, bis auf den Fehler :(


java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.sun.enterprise.appclient.jws.boot.JWSACCMain.run(JWSACCMain.java:221)
at com.sun.enterprise.appclient.jws.boot.JWSACCMain.main(JWSACCMain.java:182)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: java.lang.NoClassDefFoundError: server/testRemote
at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:487)
... 15 more
Caused by: java.lang.NoClassDefFoundError: server/testRemote
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:236)
at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:449)
... 15 more
Caused by: java.lang.ClassNotFoundException: server.testRemote
at com.sun.enterprise.loader.EJBClassLoader.findClassData(EJBClassLoader.java:737)
at com.sun.enterprise.loader.EJBClassLoader.findClass(EJBClassLoader.java:627)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 21 more
 
G

Guest

Gast
Das, was NetBeans generiert, ist ziemlicher Mist. Die Annotationen können aber sollten nicht in den Interfaces stehen,
sonst muss man clientseitig Abhängigkeiten zu den JEE Annotations hinzufügen. Alles nur wegen einem blöden @Remote

Baue dir folgende Hierarchie auf (hier am Beispiel einer Funktion sum(int, int))
Code:
// Das hier ist das Remote-Interface
public interface MathService
{
   int sum(int v1, int v2);
}

// Das hier ist das Local-Interface.
public interface MathServiceLocal extends MathService
{
   // Hierher kommen Methoden, die nur serverseitig erreichbar sein sollen
}

@Session
@Remote(MathService.class)
@Local(MathServiceLocal.class)
public class MathServiceBean implements MathServiceLocal
{
   public MathServiceBean
   {
   }

   public int sum(int v1, int v2)
   {
      return v1+v2;
   }
}
Remote-Zugriff dann über
Code:
// Bei dem JNDI-Namen gehe ich davon aus, dass du keinen speziellen JNDI-Namen für die Bean definiert hast.
// z.B. @Stateless(mappedName="ejb/MathService") in MathServiceBean 
MathService service = InitialContext.doLookup(MathService.class.getName());
System.out.println(service.sum(19, 23));
 

norbertbaum

Mitglied
Hallo Gast,
vielen dank!

nur leider habe ich Probleme bei @Session - welchen Import?

Exception in thread "main" java.lang.NoClassDefFoundError: test/MathServiceRemote
at eetest.Main.main(Main.java:29)


irgendwie binich n bissel blöd oder stehe auf dem schlauch :(
 

benders

Aktives Mitglied
Moin Norbert,

Die Exception die Du nun erhältst sagt eigentlich das selbe aus.
Die SessionBean kann nicht gefunden werden.
Es ist also ein grundsächliches Problem.



Ich habe versucht den Fehler auch bei mir zu provozieren.
Ist mir nicht gelungen. :wink:

Zu Deinem ersten Versuch:

In der main-Methode kannst Du die Zeile
Code:
testBean = new server.testBean();
löschen.

Weitere Versuche:

1. Undeploy der ganzen Application über das Web-Frontend, dann erneutes deployen mit Netbeans.
2. Neu-Start des Glassfishes.

Welche Versionen von Netbeans und Glassfish benutzt Du?


Ich könnte Dir ja auch ein (bei mir) funktionierendes Projekt mailen.

Bernd
 

norbertbaum

Mitglied
das Projekt wäre schön wenn du mir das mal schicken könntest :)
//edit: mail entfernt

wegen den Versions Infos mache ich dann
ich muss erst mal in die hochschule, aber habe ja immer alles dabei :)


DANKE DIR
 
G

Guest

Gast
norbertbaum hat gesagt.:
Hallo Gast,
vielen dank!

nur leider habe ich Probleme bei @Session - welchen Import?

Exception in thread "main" java.lang.NoClassDefFoundError: test/MathServiceRemote
at eetest.Main.main(Main.java:29)


irgendwie binich n bissel blöd oder stehe auf dem schlauch :(
Ätsch, sorry, ich meinte @Stateless :shock:
Ich habe es hier eingetippt, sonst hätte ich es in IDE direkt bemerkt. Im Kommentar zum Aufruf
der Bean habe ich die korrekte Annotation benannt... Was mir da wohl durch den Kopf ging? :roll::wink:
 
G

Guest

Gast
So war's gemeint
Code:
@Stateless
@Remote(MathService.class) 
@Local(MathServiceLocal.class) 
public class MathServiceBean implements MathServiceLocal 
...
 

norbertbaum

Mitglied
sorry, aber irgendwas stimmt an meinem Server nicht :(

er sagt mir immer NoClassDefFoundError test/MathService


immer wieder der selbe Fehler :'(
 

benders

Aktives Mitglied
Hallo Norbert,

Du hast leider gleich mehrere Baustellen angefangen.

- Glassfish aufsetzten

- Netzwerk einrichten (Zugriff von verschieden Standorten über dyndns)
dabei spielen so viele Komponenten (Firewalls, vergebene IP,....) mit.

- Erste Schritte in JEE5

Damit machst Du es Dir selber schwer.

Mein Rat, konzentriere Dich erst einmal auf nur ein Thema.
Dann können Deine Fragen auf präziser gestellt werden.
Und das Forum kann Dir besser helfen.

Bernd
 

norbertbaum

Mitglied
Hallo Bernd,

aber ich hatte dir ja per Mail geschrieben
im NetBeans run geht :) mit lokalen Server

aber wenn ich mir den client mit java webstart holen will treten die fehler auf
im netzwerk sowie lokal:(

danke dir ich hoffe du kannst mir helfen
ich kann dir auch gerne per mail die server adresse geben
 

norbertbaum

Mitglied
Jetzt noch einmal für alle
das Problem war wieder einmal nur der User :D

also ich hatte mir immer den normalen client geladen und nicht der vom EnterpriseProjekt ausgeleifert wird und deswegen kamen die Fehler, ich melde mich wenn ich die nöchsten Probleme habe
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L JSF Primefaces breadcrumb - erstes Element funktioniert nicht Allgemeines EE 0
T Java ServerFaces Anwendung mit XHTML & CSS Allgemeines EE 1
E modulare Java-Anwendung verteilen (Camel) Allgemeines EE 0
B Java Mail und idle() mit zig Emailadressen? Allgemeines EE 59
H JWebUnit Fehler: java.lang.NoClassDefFoundError: org/apache/regexp/RESyntaxException Allgemeines EE 24
B Java mail API - möchte nur eine gewisse Anzahl von Emails in die Liste holen Allgemeines EE 3
M Rest mit Java 11 Allgemeines EE 6
M java.lang.SecurityException: class "javax.persistence.TupleElement"'s signer information does not match ... Allgemeines EE 1
F Java Programmierer Allgemeines EE 13
R Wie viel DevOps sollte ein Java-Entwickler kennen, der sich in Microservices spezialisiert? Allgemeines EE 5
Dimax JSP Probleme mit Java in JSP Allgemeines EE 21
Dimax JSP Auf button click java methode ausführen.Ist das möglich? Allgemeines EE 6
B Logging (log4j) in JAVA EE application - WildFly Allgemeines EE 15
A Java EE (am Cleint) und websocket Allgemeines EE 8
J Ich kann Java JDK nicht downloaden Allgemeines EE 6
R Aufbau zum Java EE Entwickler - Schulungen Allgemeines EE 0
G Java EE Hosting ? Allgemeines EE 6
P Java EE Videotutorials Allgemeines EE 1
R Java Enterpise entwickeln mit Virtualbox Allgemeines EE 6
A OutOfMemoryError: Java heap space Allgemeines EE 7
I Start Word from Java Allgemeines EE 1
T Java Jersey Interceptor Allgemeines EE 7
R Post Variable in Java Allgemeines EE 8
L JSP Fehlermeldung bei Verwendung von Java-Expression-Language Allgemeines EE 8
K Wie habt ihr Java EE gelernt? Allgemeines EE 11
hjpsoft JSF Lösung einer Aufgabe im "Workshop Java EE7" Allgemeines EE 5
S Welcher Java EE Applikationserver für RESTful Webservice? Allgemeines EE 2
T Java Login Allgemeines EE 1
L Certified Master Java Enterprise Architect Java EE Allgemeines EE 3
R Java EE 6, eclipse, maven, jsf, hibernate, mysql Allgemeines EE 8
D Einfaches Java Projekt funktioniert nicht Allgemeines EE 3
W Authentifizierung und Sessions in Java EE7 Allgemeines EE 0
OnDemand Task in Java ee Allgemeines EE 7
OnDemand JSF - java File Verständnisfrage Allgemeines EE 5
OnDemand Deployen ohne .java Files Allgemeines EE 0
E Wie kann ich über einen Suchfeld in Java Server Pages nach Datenbankinhalten suchen? Allgemeines EE 11
V Java EE 7 CDI, annotations und beans Allgemeines EE 1
G Bachelorthesis: Java oder PHP (CMS) Allgemeines EE 7
X Konsolenausgabe einer java klasse in eine jsp umleiten Allgemeines EE 7
S Aufruf eines EJBs aus einer nativen Java-Applikation Allgemeines EE 1
T Fertiges html javascrip css template in java EE application Allgemeines EE 0
F Eclipse/Java EE Debug-Problem Allgemeines EE 1
D Java Projekt goes Webservice Allgemeines EE 6
L Button Handling in JSP mit Java-Backend Allgemeines EE 2
Shams Frage zu Dowload von JAVA SDK Allgemeines EE 5
T Größeres Java EE Beispiel Projekt Allgemeines EE 4
N JavaScript schickt und Java empfängt? Allgemeines EE 4
O Java EE in Netbeans + allgemeine Fragen Allgemeines EE 5
H java selenium spezis? Allgemeines EE 4
H java selenium test connection refused Allgemeines EE 6
M Java EE-Technologie-Lern-Wahl Allgemeines EE 5
B [EJB] javax.inject.DefinitionException: bean not a Java type Allgemeines EE 5
J Java Dependencies auslesen Allgemeines EE 19
2 installation java EE Allgemeines EE 12
J PHP oder Java? Allgemeines EE 12
L Webseiten Formulare über Java Oberfläche ausfüllen? Allgemeines EE 2
T Java CMS Entwicklung : Welcher Weg ist besser? Allgemeines EE 9
F Gesucht: Gratis Server für Java Entwickler Allgemeines EE 4
J Einstieg in Java EE Allgemeines EE 5
aze Eclipse Java EE Web Project:Wo liegen die Servlets ? Allgemeines EE 4
S java Entities Problem Allgemeines EE 19
D Grundüberlegung Java Webprojekt Allgemeines EE 10
F Einstieg in Java EE - Beispielanwendungen Allgemeines EE 52
R JAVA EE - eigene Klassen aus EJB übernehmen Allgemeines EE 2
T "normales" Java Programm auf einen Server laufen lassen Allgemeines EE 3
M EE6+EJB+JavaLib: Error in annotation processing: java.lang.NoClassDefFoundError Allgemeines EE 4
G java ResourceLocator Allgemeines EE 12
M Was ist mit Java möglich? Allgemeines EE 13
T Komponenten zusammenhänge Java EE Allgemeines EE 7
A Java CMS Allgemeines EE 2
P Architektur Java EE <-> HTML5 Allgemeines EE 3
A Java Tomcat findet Website nicht Allgemeines EE 8
F Java EE Server nutzung kostenlos an Schule? (zB. mit Glassfish) Allgemeines EE 6
B Java EE, kickstart my heart Allgemeines EE 10
P Frage zu Java EE Design Patterns Allgemeines EE 3
G EJB und Java EE - No Persistence provider Allgemeines EE 5
zilti Java EE Hosting, worauf muss ich achten? Allgemeines EE 5
M Java EE6: Wie Login-Vorgang durchführen? Allgemeines EE 2
MQue Java Web- Application -> MVC Allgemeines EE 4
G Java <-> Flex Allgemeines EE 2
Spin Ant - Java Beans umsetzen Allgemeines EE 4
V "null" durch NICHTS ersetzen jsp und java beans Allgemeines EE 3
M Serialisierung und Klonen in Java Allgemeines EE 5
W JAVA Optionen auslesen Allgemeines EE 3
D Spring 3 vs. Java EE 6 Allgemeines EE 33
MQue CMS in Verbindung mit Java Allgemeines EE 16
X3TitanCore Java Servertechnologie Allgemeines EE 7
C WebStart Fehler nach update auf Java 1.6 Allgemeines EE 2
R Variablen statt Java-Methoden in EL's Allgemeines EE 4
T Suche Buch für: Large Scale Web-Apps | Clustering | Scaling in Java ? Allgemeines EE 4
G Vergleich zwischen Java Spirng und Ruby on Rails Allgemeines EE 9
K EJB Enterprise Java Beans Allgemeines EE 32
F Ich will mit Java Internetseiten bauen, aber wo hosten? Allgemeines EE 14
J OOP Java Array Problem Allgemeines EE 2
T Problem mit Java Transaction API Allgemeines EE 2
D Java EE vs. Spring/Hibernate Allgemeines EE 26
R Java EE Anfänger will mehr. Allgemeines EE 7
A Fragen zum Einstieg in Java EE Allgemeines EE 11
M Evolution der Web-Entwicklung im Java-Bereich Allgemeines EE 15
G Von Java SE nach JavaEE umsteigen Allgemeines EE 31

Ähnliche Java Themen

Neue Themen


Oben