Manueller EJB Lookup im JBoss AS 7.0.1

S

Sym

Gast
Hallo,

leider ist der AS 7.0.1 im EE-Bereich noch nicht ganz optimal. Ich nutze ein EAR mit einer EJB-Einheit. Diese EJBs kann ich im WAR leider nicht injecten, weil dies derzeit anscheinend nicht richtig unterstützt wird.

Nun möchte ich einen manuellen Lookup auf meine Bean machen.

Code:
package de.larmic.ts.ejb.user.api;

public interface Authentication {
	String authenticate(final String email, final String password);
}

Code:
@Stateless(mappedName = "ejb/AuthenticationLocal")
@Local(Authentication.class)
public class AuthenticationLocal implements Authentication {

	@Override
	public String authenticate(final String email, final String password) {
		return "test@tsas-segen.de".equals(email) && "test".equals(password) ? "todo:securitytoken" : null;
	}
}

Beim Deployment des EARs bekomme ich folgende Meldung:

Code:
INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-7) JNDI bindings for session bean named AuthenticationLocal in deployment unit subdeployment "larmic-ts-ejb-1.0-SNAPSHOT.jar" of deployment "larmic-ts-ear-1.0-SNAPSHOT.ear" are as follows:

	java:global/larmic-ts-ear-1.0-SNAPSHOT/larmic-ts-ejb-1.0-SNAPSHOT/AuthenticationLocal!de.larmic.ts.ejb.user.api.Authentication
	java:app/larmic-ts-ejb-1.0-SNAPSHOT/AuthenticationLocal!de.larmic.ts.ejb.user.api.Authentication
	java:module/AuthenticationLocal!de.larmic.ts.ejb.user.api.Authentication
	java:global/larmic-ts-ear-1.0-SNAPSHOT/larmic-ts-ejb-1.0-SNAPSHOT/AuthenticationLocal
	java:app/larmic-ts-ejb-1.0-SNAPSHOT/AuthenticationLocal
	java:module/AuthenticationLocal

Das sieht soweit gut aus.

Mein manueller Lookup:

Code:
try {
	final Context ctx = new InitialContext();
	final Object obj = ctx.lookup("java:app/larmic-ts-ejb-1.0-SNAPSHOT/AuthenticationLocal!de.larmic.ts.ejb.user.api.Authentication");
	this.authentication = (Authentication) obj;
} catch (final NamingException e) {
	throw new EJBException(e);
}

Allerdings bekomme ich eine ClassCastException, weil der Proxy sich nicht casten lässt.

Code:
class de.larmic.ts.ejb.user.api.Authentication$$$view3

Mache ich einen anderen Lookup nach java:module/AuthenticationLocal bekomme ich eine NamingException.

Was könnte das Problem sein. Wie könnte ich das umgehen?

Danke fürs Lesen :)
 
S

Sym

Gast
Ja,

eingebunden als

Code:
<dependency>
	<groupId>de.larmic.ts</groupId>
	<artifactId>larmic-ts-ejb</artifactId>
	<type>ejb-client</type>
	<version>${larmic.ts.version}</version>
</dependency>

Sonst gäbe es ja auch Compiler-Fehler oder ist das bei ejb-client anders?
 

Deadalus

Bekanntes Mitglied
Sorry aber hier kann ich echt nur Kopfschütteln.

Du merkst also, dass das essentielle Feature Depenedcy Injection nicht funktioniert und deine Lösung sind manulle lookups? Ernsthaft?

Ich bin mir ziemlich sicher, dass in Jboss 7 Annotationen, die schon in JBoss 5und teilweise Jboss 4 funktioniert haben immer noch funktionieren.

Schreib mal bitte deine Klassen wie folgt um:

EJB
Java:
@Stateless
public class AuthenticationLocal implements Authentication {
	@Override
	public String authenticate(final String email, final String password) {
		return "test@tsas-segen.de".equals(email) && "test".equals(password) ? "todo:securitytoken" : null;
	}
}

@Local
public interface Authentication {
	String authenticate(final String email, final String password);
}

WAR
Java:
@ApplicationScoped
public class Test implements Serialiseable{

@EJB
private Authentication authenticator;

@PostConstruct
void init(){
System.out.println(authenticator.authenticate("test@tsas-segen.de","test");
}
}

EJB Dependencies sehen bei mir übrigens so aus:

[XML]
<dependency>
<groupId>de.larmic.ts</groupId>
<artifactId>larmic-ts-ejb</artifactId>
<scope>provided</scope>
<type>ejb</type>
<version>${larmic.ts.version}</version>
</dependency>
[/XML]
 
Zuletzt bearbeitet:
S

Sym

Gast
Hallo Deadalus,

Dir ist aber klar, dass der aktuelle JBoss 7 nur im Web Profile Only als Java EE6 Certified vorliegt und dies bei dem kompletten JBoss noch nicht der Fall ist, oder? Das dies ohne EAR in einem Projekt klappt, ist mir klar.

Oder hast Du ein laufendes EAR, welches im JB AS 7 lauffähig ist?

Also nicht gleich kopfschütteln!

edit: Vielleicht sollte ich noch einmal erwähnen, dass es im Glassfish 3.1 keine Probleme damit gibt, weil ein manueller Lookup nicht notwendig ist.
 
Zuletzt bearbeitet von einem Moderator:
S

Sym

Gast
Ja, das habe ich schon gelesen. Gestern kam die Beta von JBoss 7.1 raus, ich weiß allerdings noch nicht, ob das da bereits behoben ist.
 
S

Sym

Gast
Ah ok, dann schaue ich mal Montag. Ich sehe gerade, in der Roadmap wurde der Termin auch angepasst.

Dann mal kommende Woche schauen... :D

Edit: Für Local-EJBs wurde das Problem allerdings bereits behoben. Der manuelle Lookup funktioniert dort zwar nicht, wie in der Spec angegeben, allerdings ist das auch nicht mehr notwendig, da ein Inject nun funktioniert.

Ich setze das hier mal auf erledigt (ist ja auch alt genug und eigentlich ging es hier um eine Möglichkeit, auf EJBs in einer sehr frühen JBoss 7 AS Full zuzugreifen, was mittlerweile geht)
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Webservice (SOAP) Lookup Allgemeines EE 1
Q Fehler InitialContext.lookup Allgemeines EE 3
J JNDI-lookup.. dasselbe Objekt oder Kopie? Allgemeines EE 2
A JNDI Lookup Allgemeines EE 6
E Eclipse Helios JNDI Lookup failed Allgemeines EE 5
M Problem mit Lookup auf EJB3 mit Glassfish Allgemeines EE 11
P InitialContext lookup gibt NULL zurück Allgemeines EE 2
B Problem mit jndi lookup Allgemeines EE 7
Y EJBs und Callbacks (Jboss 7.1) Allgemeines EE 1
J Mit @Schedule annotierte Methode wird nach einer Weile nicht mehr ausgeführt (JBoss AS 7.2) Allgemeines EE 0
P eMail versenden mit JBOSS Allgemeines EE 2
N WS-Security Beispiel mit JBOSS/Wildfly gesucht Allgemeines EE 2
I JBoss unheimlich langsam nach mehreren Deploys Allgemeines EE 2
BuckRogers Jboss 7** und j2ee 1.7 Allgemeines EE 1
D Jboss löscht Archiv nicht beim Redeployed Allgemeines EE 3
J paar Fragen zu JSF2/JEE6 Anwendung mit JBoss 7.1.1 Allgemeines EE 6
D Jboss lernen mit Praxisbeispiel Allgemeines EE 4
Y JBoss 7 - wie kann ich das logging meiner Applikation am JBoss konfigurieren Allgemeines EE 3
O JBoss und die Einbindung eines externen JAR Allgemeines EE 10
E Generelle Frage zu CDI mit JBoss AS 7.1.1 and Jave EE 6 Allgemeines EE 4
B JBoss Libs vs. JBoss Libary Allgemeines EE 12
E CDI mit verschiedenen Jars in EAR klappt auf Jboss AS 7.1.1.Final nicht Allgemeines EE 8
S Webapp in JBoss absichern nur in bestimmten Umgebungen? Allgemeines EE 2
C JBoss Clustering schlägt fehl Allgemeines EE 10
E JBoss 7.1 Datasource Problem Allgemeines EE 2
2 Deployment per EAR [JBOSS] Allgemeines EE 6
E JBoss NameNotFoundException: einloggen not bound Allgemeines EE 4
S Jboss Server Allgemeines EE 5
E JBoss, jsp und Parameter Allgemeines EE 2
H Bean läuft unter GlassFish, aber JBoss nicht Allgemeines EE 5
S JBoss 7 Authentifizierung: "No principals available" Allgemeines EE 3
S Principal, Authentication, Security und alles im JBoss 7 Allgemeines EE 16
W JBoss 6 - SocketTimeout dynamisch setzen Allgemeines EE 2
T eXist und JBoss Allgemeines EE 5
J JBoss, Eclipse, Webseite wird nicht angezeigt? Allgemeines EE 4
T erste Anwendung in JBoss deployen Allgemeines EE 3
V JBoss und Classloader Allgemeines EE 6
S Embedded JBoss Problem beim Deployment Allgemeines EE 4
W Anleitung/Tutorial Eclipse/JBoss 6.0 mit Seam 3.0 bzw. jBPM 5.0 Allgemeines EE 3
G JBoss Portal Allgemeines EE 5
E Servlet Wie kann ich ohne Hilfe von Eclipse in JBoss mein servlet aufrufen Allgemeines EE 2
P Kann jemand mit dieser Exception was anfangen? (JBoss) Allgemeines EE 5
ruutaiokwu jboss problem - work-verzeichnis muss manuell gelöscht werden??? Allgemeines EE 5
W JBoss log dependencies aus jbossall-client.jar Allgemeines EE 7
G JBoss Datasource Allgemeines EE 3
ruutaiokwu ejb hot deployment unter jboss 4.2.3 Allgemeines EE 7
fastjack jBoss und externes Nachrichtensystem Allgemeines EE 3
H log4j + JBoss Allgemeines EE 10
P JAAS mit jboss 6 Allgemeines EE 2
X JBoss log4j Konflikt Allgemeines EE 2
reibi JBoss Webinterface Allgemeines EE 3
X JBoss InitialContext problem Allgemeines EE 5
E Properties-File in Jboss-Conf Verzeichnis ansprechen Allgemeines EE 2
S Servlet auf JBoss 5? Allgemeines EE 11
T Hibernate 3 + EJB 3 + JBoss 5 Allgemeines EE 6
M Deployment auf entfernten JBoss Allgemeines EE 4
T JBoss und DB2-Express Allgemeines EE 2
G separate log files in JBoss Allgemeines EE 2
Escorter JBoss AS als Webserver Allgemeines EE 2
N JBoss Problem mit Bibliothek in unterschiedlichen Versionen Allgemeines EE 2
K mehrere Datenbanken mit JBoss 4.2 und EJB3 Allgemeines EE 3
S Oracle DataSource im JBOSS ---> ClassCastException Allgemeines EE 2
S oracle db über jboss in jsp Allgemeines EE 19
F FORM Auth in JBoss für User mit falscher Rolle ? Allgemeines EE 2
E JBoss mit existierendem Tomcat nutzen? Allgemeines EE 4
T POI, Maven, JBoss und ein java.lang.NoClassDefFoundError Allgemeines EE 7
M embedded jboss unter eclipse 3.3 Allgemeines EE 2
M URL-Programm-Handling mit Jboss Allgemeines EE 2
G Deployen am JBoss Server Allgemeines EE 14
I JBOSS Jsp Files Pfad im Servlet? Allgemeines EE 4
B Problem mit JBoss-4.2.1.GA Allgemeines EE 8
remus JBoss Authentifizierung mit MYSQL-Datenbank Allgemeines EE 4
B Client ausführen mit JBoss v4.2 Allgemeines EE 3
G JBoss nutzt beim starten ständig das Root.war Allgemeines EE 12
R Jboss-Server mit Beispielanwendung füttern Allgemeines EE 2
R JBoss über lokale IP ansprechen Allgemeines EE 16
M JSP, MySQL und JBoss "No suitable Driver" Allgemeines EE 3
J Frage zu Jboss Allgemeines EE 7
N Jboss als Dienst -> Fehler 1053 Allgemeines EE 1
I JBOSS IDE EJB 3.0 Servlets JSP Applikation --> JSF sinnvo Allgemeines EE 2
S JBOSS-Security_DatabaseServerLoginModule Allgemeines EE 29
R Eclipse + JBoss + JSF Allgemeines EE 14
G webapplikation mit jsp, ejb 3.0 und jboss Allgemeines EE 10
T JBoss Installation . JAVA_HOME not set Allgemeines EE 2
JimPanse Jboss 4.2.0, myfaces bzw. Tomahawk Allgemeines EE 5
E JBoss Hibernate Datenbank-Timeout Allgemeines EE 3
G JBoss aus einem Java-Programm starten Allgemeines EE 11
G JSP und URL-Auflösung (JBoss 4.2.0) Allgemeines EE 4
G JBoss im LAN / wie konfigurieren Allgemeines EE 2
G JBoss + MySQL Allgemeines EE 8
R JBoss 4.2.0 - Eclipse RC 3.3 und WTP Allgemeines EE 3
D JBOSS unter Eclipse Allgemeines EE 2
B Servlet-Api.jar auf JBoss? (Migration von Tomcat zu JBoss) Allgemeines EE 4
F JBoss WebService Allgemeines EE 3
P Einarbeitung in JBOSS? Allgemeines EE 3
C EntityManager wirft NullpointerException: JBoss-Hibernate Allgemeines EE 4
K JBoss AS & IDE Probleme Allgemeines EE 2
S JBoss gibt POI API nicht frei Allgemeines EE 8
T Probleme beim Einsatz von J2EE / JBoss Allgemeines EE 4
M JBOSS AS von Eclipse aus steuern Allgemeines EE 9

Ähnliche Java Themen

Neue Themen


Oben