JSF & EJB "Bean not bound" Problem

Status
Nicht offen für weitere Antworten.

Marsman

Bekanntes Mitglied
Hallo Ihr!

Wie ich in einem anderen Thread schon beschrieben hatte wollen wir hier in einem kleinen Übungsprojekt JSF und EJB3 nutzen. Ich habe dazu ein Tutorial unter Laliluna verwendet. Dabei wird über eine Entity-Bean auf die Datenbank zugegriffen. Der Zugriff darauf per Java-Client funktioniert auch. Ich habe nun einen Web-Client mit JSF programmiert. Dort erhalte ich allerdings leider den Fehler:

Code:
javax.servlet.ServletException: /test.jsp(13,1) '#{bookTestBean.first}' Error reading 'first' on type de.laliluna.library.BookTestBean
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

Das Server-Protokoll enthält u.a. (Die Null-Pointer-Exception bezieht sich auf em. Ich vermute, dass es ein Problem mit dem EntityManager gibt):


Code:
10:53:05,406 ERROR [JBossInjectionProvider] Injection failed on managed bean.
javax.naming.NameNotFoundException: de.laliluna.library.BookTestBean not bound
	at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
	at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
...
Caused by: java.lang.NullPointerException
	at de.laliluna.library.BookTestBean.getFirst(BookTestBean.java:59)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...

Ich habe versuchsweise mal in meine getFirst-Methode einen konstante String zurückgegeben. Also ohne Zugriff auf den Entity-Manager. Dann klappt es. Hier mein Bean-Code:

Code:
package de.laliluna.library;

import java.util.Iterator;
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

@Stateless
public class BookTestBean implements BookTestBeanLocal, BookTestBeanRemote {

	@PersistenceContext
	EntityManager em;
	public static final String RemoteJNDIName = BookTestBean.class
			.getSimpleName()
			+ "/remote";
	public static final String LocalJNDIName = BookTestBean.class
			.getSimpleName()
			+ "/local";

	public void test() {
		Book book = new Book(null, "My first bean book", "Sebastian");
		em.persist(book);
                // Übrigen Code ausgelassen

	}

	public String getFirst() {
		List someBooks = em.createQuery("from Book b where b.author=:name")
				.setParameter("name", "Paul").getResultList();
		for (Iterator iter = someBooks.iterator(); iter.hasNext();) {
			Book element = (Book) iter.next();
			return element.toString();
		}
		return "Not Found!";
	}
}

Ich habe das EJB-Projekt und das Dynamic-Web-Projekt unter Eclipse für den JBoss 4.2 erstellt. Auf ein EAR-Projekt habe ich zunächst verzichtet, glaube auch nicht, dass das die Problemursache ist.

Ich würde mich riesig freuen, wenn mir da nochmal jemand einen Tipp geben könnte! :D


Titus
 
M

maki

Gast
Hallo Marsman,

kann dir nicht sagen wo das Problem ist, ich benutze kein EJB 3.0, hab vor ein paar Wochen mit EJB 2.1 + XDoclet angefangen.

Mein Tipp: Ohne Logging in der EJB bist du so gut wie Blind, debuggen fällt ja aus.

Ich benutzte log4j, zur Not würde es auch ein System.out.println tuen.

Damit könntest du ausgeben lassen, was denn genau null ist, der em, die query oder vielleicht die Liste?

Was steht den in Zeile 59?
 

Marsman

Bekanntes Mitglied
Oh, sorry. Durch das kürzen des Codes sind hier im Firum die Zeilenummern verutscht. In Zeile 59 wird die Query erstellt. em ist leider beim Aufruf durch eine Web-Application null:

Code:
	public String getFirst() {
		String result = "Not Found!";
--->		EntityManager em = emf.createEntityManager();
		List someBooks = em.createQuery("from Book b where b.author=:name")
				.setParameter("name", "Paul").getResultList();
		Iterator iter = someBooks.iterator();
		if (iter.hasNext()) {
			Book element = (Book) iter.next();
			result = element.toString();
		}
		em.close();
		return result;
	}


Titus
 

Marsman

Bekanntes Mitglied
...ich habe das Ganze nun statt auf dem JBoss auf dem Sun Applicationserver deploed. Auch dort bekomme ich beim Aufruf der JSF im Browser den Fehler, dass die Bean nicht instanziiert werden konnte. :-(
 
G

Gast

Gast
Schlage mich auch mit dem Zeug herum. Noch keine Lösung gefunden und in diversen Foren gibt es nur Fragen zu diesem Thema und keine Antworten. Frage mich, ob es überhaupt jemand zum Laufen gebracht hat?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R JSF Entitybean direkt in Sessionscoped Bean referenzieren Allgemeines EE 2
I Session löschen in Bean (Session Beans) Allgemeines EE 1
J Hello World mit Stateless Session Bean - Was mache ich falsch? Allgemeines EE 2
J Unterschied zwischen HttpSession und Stateful Session Bean Allgemeines EE 3
R Wie eine stateful session bean erneut "aufgreifen" Allgemeines EE 22
B [EJB] javax.inject.DefinitionException: bean not a Java type Allgemeines EE 5
T Einstieg in J2EE: Remote auf Bean zugreifen Allgemeines EE 11
H Bean läuft unter GlassFish, aber JBoss nicht Allgemeines EE 5
P Unterschied Session Scope / Stateful Session Bean Allgemeines EE 6
A Im PhaseListener auf Stateful Session Bean zugreifen Allgemeines EE 6
J geschützter Bean zugriff mit einem Rich-Client Allgemeines EE 2
2 JSTL Tags für eine Bean? Allgemeines EE 4
M Spring: Bean als Webservice freigeben Allgemeines EE 9
D Problem mit EJB: Bean soll Objekt eigener Klasse zurückgeben Allgemeines EE 2
V JSP BEAN Speichern von einer Zahl nach eingabe Allgemeines EE 2
H Bean Vergleich.gibts da schon was Feines? Allgemeines EE 13
B unterschied servlet und bean Allgemeines EE 2
F response.sendError() von Bean aus Allgemeines EE 6
A Session Bean mit Local-Interface nutzen Allgemeines EE 3
J prozesse aus der application-bean threadfähig? Allgemeines EE 4
G JSF dynamsiche style zuweisung aus Backing Bean Allgemeines EE 3
G Objekt von jsp an set Methode von Bean übergeben! Allgemeines EE 2
N Lokation von Bean Klassen? Allgemeines EE 5
M JSF Bean-Property mit Parameter aufrufen Allgemeines EE 12
R Zugriff auf Managed Bean aus einem Filter Allgemeines EE 2
boxi JSF von einem Bean auf ein anderes Bean zugreifen Allgemeines EE 3
J Bean in der init-Methode des Servlets instanzieren Allgemeines EE 9
Y JSF - einzelne Bean zerstören/ungültig machen Allgemeines EE 2
S In einer Bean-Methode an ndere Beans kommen Allgemeines EE 7
ichbindiegute Performance von Entity Bean create vs. JDBC insert Allgemeines EE 11
RaoulDuke EJB 3.0 - Exceptions aus Methoden einer Session Bean Allgemeines EE 2
A Selbstreferenzierter Entity-Bean Allgemeines EE 3
V Bean-Daten in JSF-JSP finden Allgemeines EE 3
G Entity Bean ignoriert Datenbank Allgemeines EE 16
J In einem Bean zugriff auf ein SessionBean? Allgemeines EE 2
F Session Bean -> Daten aus dem Servlet holen Allgemeines EE 11
F Package beim Cookie-setzten über BEAN nicht gefunden Allgemeines EE 4
M STRUTS/Cannot retrieve definition for form bean null on acti Allgemeines EE 4
E Methoden einer Bean aufrufen? Allgemeines EE 4
P jsf SelectOneMenu: Bean als SelectItem Value Allgemeines EE 5
P Struts Form Bean vs. Session Variable Allgemeines EE 6
G Exception creating bean of class . (Struts) Allgemeines EE 8
T statische Methoden versus Application-Bean Allgemeines EE 2
N Duplicate Bean Name (Tomcate 5.X, JDK 1.5) Allgemeines EE 2
M Unterschied zwischen Servlet und Bean/EJB Allgemeines EE 2
flashfactor Logging in einem Session-Bean Allgemeines EE 2
N Einbindung einer Bean in eine JSP (Tomcat-Server 5.5.x) Allgemeines EE 2
H Sichtbarkeit von Bean-Modifikationen? Allgemeines EE 2
H JSP, Session und Java-Bean Allgemeines EE 4
R html-form mit bean:write Allgemeines EE 10
R Use bean in scriptlet in struts Allgemeines EE 4
N Deployen einer EJB3.0 Bean Allgemeines EE 4
M Session Bean vers. Entity Bean Allgemeines EE 3
U Enterprise Bean mit dynamischer Datenbankauswahl? Allgemeines EE 3
T Filesystemzugriff von einer Bean? Allgemeines EE 6
C Mail von einer Session Bean aus senden Allgemeines EE 2
C Message Driven Bean soll keine Nachrichten empfangen Allgemeines EE 4
A Begriffe MBean JMX-Bean? Allgemeines EE 2
K JAVA BEAN DB Connection Prob Allgemeines EE 5
B Kein definiertes Bean? --- JDeveloper Allgemeines EE 5
C JSP mit java Bean Allgemeines EE 22
T Bean übertragen von Servlet zu Servlet Allgemeines EE 9
T Variablen von Bean über Servlet setzen Allgemeines EE 5
S XML parsen in Bean Allgemeines EE 2
G Instanzvariablen mit Strings in Bean vergleichen... Allgemeines EE 3
S Struts: Problem mit <bean:message> - Tag Allgemeines EE 1
A Kommunikation zwischen Java Servlet und Bean Allgemeines EE 1
E JBoss NameNotFoundException: einloggen not bound Allgemeines EE 4
D Problem mit Update von ApacheHttpClient von 5.2 auf 5.3 Allgemeines EE 10
D Problem mit redundanten Servern Allgemeines EE 7
Azemaria JSF: Problem bei der einfachsten Applikation Allgemeines EE 2
P JPA Internal Problem Nullpointer Allgemeines EE 10
S MessageDrivenBean Problem beim Zugriff auf Stateful EJB Allgemeines EE 2
M Glassfish Deployment-Problem unter Eclipse Allgemeines EE 0
B Problem beim Lesen des Codes... Allgemeines EE 2
R JPA Problem beim Speichern eines Users Allgemeines EE 2
S WebSocket Problem Allgemeines EE 0
F Eclipse/Java EE Debug-Problem Allgemeines EE 1
G Problem: Servlet in JSP einbinden mit <jsp:include> Allgemeines EE 3
Raidri [SEAM] rich:dataTable sortBy Problem Allgemeines EE 6
T Problem mit den Beispielen von Apache Allgemeines EE 5
W JSF Validator Problem HTTP Status 500 Allgemeines EE 2
E JBoss 7.1 Datasource Problem Allgemeines EE 2
M JSP Problem -unbestimmte Anzahl von Werten Transportieren Allgemeines EE 9
S Problem mit EJB Verständnis Allgemeines EE 4
B Problem beim einbinden einer CSS in eine JSP Allgemeines EE 8
F JSP Problem mit Datenbankanbindung über Glassfishserver Allgemeines EE 4
S java Entities Problem Allgemeines EE 19
S Embedded JBoss Problem beim Deployment Allgemeines EE 4
E Session Problem Allgemeines EE 9
F problem mit nullpointer bei DB zugriff Allgemeines EE 2
A Erste Schritte... Problem mit Hibernate Allgemeines EE 15
ruutaiokwu jboss problem - work-verzeichnis muss manuell gelöscht werden??? Allgemeines EE 5
Stillmatic sendRedirect Problem! Allgemeines EE 3
M Problem mit Lookup auf EJB3 mit Glassfish Allgemeines EE 11
0 Problem mit librarys javax.servlet.http.HttpServletRequest cannot be resolved Allgemeines EE 1
X JBoss InitialContext problem Allgemeines EE 5
LordZed Problem mit dem einbinden von Bibliotheken, die sich gegenseitig verwenden Allgemeines EE 5
H GWT Problem beim Ausführen Allgemeines EE 8
Q Problem mit JMS und Weblogic 10 Allgemeines EE 5

Ähnliche Java Themen

Neue Themen


Oben