JAR-File mit EJBs läuft, EAR-File nicht obwohl EJB gestartet

msemlitsch

Grünschnabel
Hallo Forum,

ich habe eine EJB-Anwendung geschrieben, die sich als JAR-File deployen lässt und die enthaltenen Beans lassen sich alle von Clients ansprechen. Packe ich diese JAR-File in eine EAR-File, dann lässt sich die Anwendung deployen und JBOSS meldet mir, dass die Beans gestartet sind.

Beim Deployen bekomme ich z.B. folgende positive Meldung:
08:12:10,968 INFO [EJBContainer] STARTED EJB: de.KundeDAOBean ejbName: KundeDAOBean

Aber beim Ansprechen der Beans durch den Client bekomme ich die Meldung "KundeDAOBean not bound", obwohl die Anwendung als einfache EJB-Anwendung lief.

Könnte es sein, dass in einer EAR-Datei zwingend mindestens eine WAR-File vorhanden sein muss, die in der application.xml beschrieben sein muss?

Meine application.xml sieht momentan so aus:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/j2ee" version="1.4"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com /xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
	<display-name>myapp</display-name>
	<module>
		<ejb>myapp.jar</ejb>
	</module>
</application>

Muss hier zusätzlich noch ein Modul vom Typ "web" beschrieben werden?

Gruß
msemlitsch
 
Wie machst du den Lookup auf der Clientseite? Wenn ich mich recht erinnern kann musst du den Namen des Interfaces für den lookup verwenden, nicht die Implementierung.

Gruß
Ollie
 
Hallo Ollie,

den Lookup mache ich wie folgt:

Java:
KundeDAO dao = (KundeDAO) context.lookup("KundeDAOBean/remote");

KundeDAO ist das Interface. Wie gesagt, wenn ich nur die JAR-Datei mit den EJBs deploye, wird die KundeDAOBean vom Client gefunden. Aber wenn ich die JAR-Datei inklusive application.xml in die EAR-Datei packe, gehts nicht. Ich bekomme zwar die oben beschriebene positive Meldung, aber die Bean ist angeblich nicht gebunden.

Gruß
msemlitsch
 
Zuletzt bearbeitet von einem Moderator:
Zurück