Netbeans + JavaEE. NullPointerException

JUserToto

Aktives Mitglied
Hallo zusammen,

vor zwei Semestern hatte ich JavaEE noch im Studium. Nun wollte ich das ganze nochmal ein bisschen auffrischen, indem ich selbst ein bisschen damit rumprobiere. Leider scheitert es schon am kleinst möglichen Projekt.

Was ich haben möchte:

Folgende Projekte:
  • Enterprise Application
  • Class Library (Für die Entitys und für die Remote Beans)
  • EJB Projekt mit Persistence Unit und Beans
  • Application Client

Ich habe nun im Application Client einen Button. Wenn ich auf diesen Button klicke, wird die Methode "checkPassword" einer DAO Klasse (im gleichen Projekt) aufgerufen. Das DAO soll nun die selbe Methode auf dem Server ausführen (die aktuell nur true zurück liefert).

Hier die Methode der GUI:

Java:
private void loginPerform(java.awt.event.ActionEvent evt) {                              
     JOptionPane.showMessageDialog(rootPane, DAO.checkPassword(null, null));
 }

und die DAO Klasse:

Java:
package business;

import beans.UserRemote;
import javax.ejb.EJB;

public class DAO {
   @EJB
   public static UserRemote uRemote;
   
   public static boolean checkPassword(String nick, String password) {
       return uRemote.checkPassword(nick, password);
   }
}

Hier die Remote Klasse:

Java:
package beans;

import javax.ejb.Remote;

@Remote
public interface UserRemote {
    public boolean checkPassword(String nick, String password);
}

Und die Stateless Bean:

Java:
package beans;

import javax.ejb.Stateless;

@Stateless
public class User implements UserRemote {
    
    @Override
    public boolean checkPassword(String nick, String password) {
        return true;
    }
}

Was ist das Problem:

Die Variable "uRemote", also die Remote Bean ist IMMER null. Ich kriege folglich eine Nullpointer Exception.

Wenn ich die DAO Klasse weglasse und direkt in der GUI "uRemote" erzeuge mit der EJB Annotation funktioniert alles, wie es soll.
Es scheint also, als wäre ich in der DAO Klasse irgendwie "außerhalb des Kontextes". Was fehlt?


Danke im Voraus,

lg Toto

edit: Im Server Log bekomme ich außerdem ständig folgende Ausgabe:

Warnung: ACDEPL112: Error attempting to process extensions from the manifest of JAR file C:\Users\xyz\Desktop\glassfishv3\glassfish\domains\gfdom\generated\xml\EA\EAppClient_jar\lib\ClassLibrary.jar; ignoring it and continuing
 
Zuletzt bearbeitet:

JavaMeister

Gesperrter Benutzer
Also hier geht ne Menge falsch.

1. Du hast eine GUI und einen Serveranteil.

=> Du greifst aus der GUI statisch auf den Server zu. Das kann so nicht funktionieren.

=> Du musst ein jndi lookup durchführen und da drauf aufrufen.

=> Hier darf keine Methode static sein.

2. die @EJB Annotation wird nur dann ausgeweret, wenn die Klasse aus dem DI-Container erstellt wird.

Nach welchem Tutorial hast du das gemacht?
 

JUserToto

Aktives Mitglied
Hallo,

dankeschön erstmal.
Ich bin keinem Tutorial gefolgt. Das liegt vor allem daran, dass ich kein verständliches Tutorial gefunden habe zu meinem Problem. Das meiste, was man findet, arbeitet direkt mit Servlets und JSPs. Ich würde aber gerne erstmal bei Java Anwendungen als Client bleiben.

Auch zum JNDI Lookup finde ich nichts, was mich weiter bringt (Laut den alten "Hausaufgaben" haben wir es aber auch scheinbar immer über die @EJB Annotation gemacht)

Ich werde dann wohl doch nochmal die alten Vorlesungsskripte raussuchen müssen und bei 0 anfangen :(

liebe Grüße,
Toto
 

JUserToto

Aktives Mitglied
Okay, ich habe mir nochmal die alten Unterlagen angesehen. Mittlerweile sitze ich wieder den ganzen Tag vor dem Rechner und habe nichtmal das einfachste Programm zum Laufen gebracht. Das ganze geht schon echt an die Nerven, weil ich nie weiß, ob Glassfish nun wieder irgendein Problem hat oder Netbeans wieder was durcheinander gebracht hat... Also habe ich nochmal komplett sauber angefangen:

  • Ich erstelle eine Enterprise Application mit EJB Container
  • Ich erstelle ein Class Library Project für die Entities
  • Ich füge dem EJB Container das Library Project als Library hinzu
  • Ich erstelle eine Persistence Unit im EJB Container
  • Ich erstelle eine Entity "Benutzer" und füge diese der PU hinzu
  • Ich erstelle einen Application Client und füge ihm der Enterprise Application hinzu

Der PU gebe ich natürlich auch eine Datenbank mit. (EJB Projekt hat natürlich auch den Treiber als Library)
Ich starte das Programm: Keine Fehler. Allerdings wird die Tabelle "Benutzer" nicht erzeugt. Wieso?

lg Toto
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JavaEE- Projekt in Netbeans Allgemeines EE 0
G Netbeans und JavaEE - Projects Allgemeines EE 4
C Persistence Provider wechseln [Netbeans] Allgemeines EE 1
O Java EE in Netbeans + allgemeine Fragen Allgemeines EE 5
A Mit NetBeans .war-Datei erzeugen Allgemeines EE 3
G JSF 1.2 unter Netbeans 6 mit Tomcat 6.0 ->Navigationsprob Allgemeines EE 6
A NetBeans: (use -source 5 or higher to enable generics) Allgemeines EE 4
S Netbeans 5.5 Visual Web Pack Problem mit INSERT und PK Allgemeines EE 4
M NetBeans 5.5 installiert und schon hängt was beim Deployen Allgemeines EE 5
T Stand von JavaEE und AppServern Allgemeines EE 10
L JavaEE Webanwendung - Datenbank-Verbindung aufbauen Allgemeines EE 18
G Unit Test einer JavaEE Anwendung schlägt fehl. JNDI Name nicht gefunden. Allgemeines EE 3
G JavaEE Anwendung Testen Allgemeines EE 0
R Wiederverwendbarkeit in JavaEE Anwendung Allgemeines EE 2
P JavaEE 7 Maven Eclipse Allgemeines EE 0
OnDemand GUI in einer JavaEE Anwendung Allgemeines EE 6
P JAvaEE und JNDI Allgemeines EE 0
T JBossESB Welche JavaEE Verison? Allgemeines EE 0
S Verteilte Anwendung mit JavaEE Allgemeines EE 3
J Security JavaEE 6 Allgemeines EE 7
H Die ersten Schritte mit JavaEE Allgemeines EE 2
M JavaEE Anwendung weitergeben Allgemeines EE 24
Chris81T JavaEE Backend < > HTML Frontend ( Frameworks ) Allgemeines EE 10
R Synchronized in JavaEE Allgemeines EE 11
G web.xml javaee tag Allgemeines EE 2
G Aussagen zu JavaEE Allgemeines EE 9
D maven für javaEE projekt Allgemeines EE 20
T javaee.jar und rt.jar Allgemeines EE 2
G Von Java SE nach JavaEE umsteigen Allgemeines EE 31
G json-b + jax-rs + getter mit Parameter = NullPointerException Allgemeines EE 10
J Asynchrones Servlet löst NullPointerException aus Allgemeines EE 5
D JSF, Primefaces - NullPointerException Allgemeines EE 7
C EntityManager wirft NullpointerException: JBoss-Hibernate Allgemeines EE 4
P Session NullPointerException Allgemeines EE 17
R NullPointerException Allgemeines EE 11

Ähnliche Java Themen

Neue Themen


Oben