Jboss AS 7 - Dependency Injection
Im Versuch zu machen, die Nutzung von dependency injection in Jboss AS 7 und ich habe riesige Schwierigkeiten.
Ich habe setup ein OHR, die enthält ein EJB-jar und Krieg.
Des Krieges enthält eine richfaces-web-app.
Im Versuch zu injizieren einer von EJB die ejb-jar-in eine Gesichter managed bean mit dem folgenden code :
public class UserController {
@EJB(mappedName="UserService")
private UserFacadeService userService;
public String getService(){
if(userService == null){
allerdings, wenn ich jboss bereitstellen steckt der Fehler in der Konsole :
rolled back with failure message {"Services with missing/unavailable dependencies" => ["jboss.deployment.subunit.\"GoodByeJohnEAR.ear\".\"GoodByeJohnWeb-1.0-SNAPSHOT.war\".component.\"managed-bean.za.co.gbj.UserController\".START missing [ jboss.naming.context.java.module.GoodByeJohnEAR.\"GoodByeJohnWeb-1.0-SNAPSHOT\".\"env/za.co.gbj.UserController/userService\" ]","jboss.deployment.subunit.\"GoodByeJohnEAR.ear\".\"GoodByeJohnWeb-1.0-SNAPSHOT.war\".jndiDependencyService missing [ jboss.naming.context.java.module.GoodByeJohnEAR.\"GoodByeJohnWeb-1.0-SNAPSHOT\".\"env/za.co.gbj.UserController/userService\" ]","jboss.naming.context.java.module.GoodByeJohnEAR.\"GoodByeJohnWeb-1.0-SNAPSHOT\".\"env/za.co.gbj.UserController/userService\".jboss.deployment.subunit.\"GoodByeJohnEAR.ear\".\"GoodByeJohnWeb-1.0-SNAPSHOT.war\".module.GoodByeJohnEAR.\"GoodByeJohnWeb-1.0-SNAPSHOT\".2 missing [ jboss.naming.context.java.module.GoodByeJohnEAR.\"GoodByeJohnWeb-1.0-SNAPSHOT\".env/UserService ]"]}
09:03:50,576 INFO [org.jboss.as.server.deployment] (MSC service thread 1-8) Starting deployment of "GoodByeJohnEAR.ear"
09:03:50,670 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) Starting deployment of "GoodByeJohnWeb-1.0-SNAPSHOT.war"
09:03:50,670 INFO [org.jboss.as.server.deployment] (MSC service thread 1-8) Starting deployment of "GoodByeJohnEJB-1.0-SNAPSHOT.jar"
09:03:51,367 WARN [org.jboss.as.server.deployment.service-loader] (MSC service thread 1-2) Encountered invalid class name "com.sun.faces.vendor.Tomcat6InjectionProvider:org.apache.catalina.util.DefaultAnnotationProcessor" for service type "com.sun.faces.spi.injectionprovider"
09:03:51,367 WARN [org.jboss.as.server.deployment.service-loader] (MSC service thread 1-2) Encountered invalid class name "com.sun.faces.vendor.Jetty6InjectionProvider:org.mortbay.jetty.plus.annotation.InjectionCollection" for service type "com.sun.faces.spi.injectionprovider"
09:03:51,375 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-8) JNDI bindings for session bean named UserFacadeBean in deployment unit subdeployment "GoodByeJohnEJB-1.0-SNAPSHOT.jar" of deployment "GoodByeJohnEAR.ear" are as follows:
java:global/GoodByeJohnEAR/GoodByeJohnEJB-1.0-SNAPSHOT/UserFacadeBean!za.co.gbj.UserFacadeService
java:app/GoodByeJohnEJB-1.0-SNAPSHOT/UserFacadeBean!za.co.gbj.UserFacadeService
java:module/UserFacadeBean!za.co.gbj.UserFacadeService
java:global/GoodByeJohnEAR/GoodByeJohnEJB-1.0-SNAPSHOT/UserFacadeBean
java:app/GoodByeJohnEJB-1.0-SNAPSHOT/UserFacadeBean
java:module/UserFacadeBean
09:03:51,406 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-4) JNDI bindings for session bean named UserFacadeBean in deployment unit subdeployment "GoodByeJohnWeb-1.0-SNAPSHOT.war" of deployment "GoodByeJohnEAR.ear" are as follows:
java:global/GoodByeJohnEAR/GoodByeJohnWeb-1.0-SNAPSHOT/UserFacadeBean!za.co.gbj.UserFacadeService
java:app/GoodByeJohnWeb-1.0-SNAPSHOT/UserFacadeBean!za.co.gbj.UserFacadeService
java:module/UserFacadeBean!za.co.gbj.UserFacadeService
java:global/GoodByeJohnEAR/GoodByeJohnWeb-1.0-SNAPSHOT/UserFacadeBean
java:app/GoodByeJohnWeb-1.0-SNAPSHOT/UserFacadeBean
java:module/UserFacadeBean
09:03:51,577 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 1) Service status report
New missing/unsatisfied dependencies:
service jboss.naming.context.java.module.GoodByeJohnEAR."GoodByeJohnWeb-1.0-SNAPSHOT".env/UserService (missing)
service jboss.naming.context.java.module.GoodByeJohnEAR."GoodByeJohnWeb-1.0-SNAPSHOT"."env/za.co.gbj.UserController/userService" (missing)
Bitte helfen!
Sind Sie es von einer IDE ? Wenn ja, dann erweitern Sie den server twistie und sehen, wenn beide von Ihnen sind tatsächlich eingesetzt werden.Scheint, wie der Krieg die Datei nicht da ist.Auch wenn Sie diese Fehlermeldung erhalten, wenn Sie den server starten?
Können Sie uns mehr Informationen zu Ihren Anmerkungen
Können Sie uns mehr Informationen zu Ihren Anmerkungen
UserFacadeService
und UserFacadeBean
?
InformationsquelleAutor Nic Willemse | 2011-09-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie es aussieht, das Problem könnte sein, dass Ihr KRIEG nicht zu einer Abhängigkeit für Ihre EJB-jar definiert. Es ist am besten zu definieren eine Class-Path-Eintrag der KRIEG ist META-INF/MANIFEST.MF für Ihre EJB-jar-Dateien, wenn Sie nicht.
Vielleicht wollen Sie auch überprüfen Sie die Konfiguration-Datei, und stellen Sie sicher, dass die
<ear-subdeployments-isolated />
- tag auf false gesetzt ist.Gibt es auch einige anständige Dokumentation laden von Klassen in JBoss AS7.
InformationsquelleAutor James R. Perkins
Erstens, stellen Sie sicher, dass in Ihrem Krieg, Sie haben die Datei META-INF/MANIFEST.MF, und es hat die Linie Class-Path: GoodByeJohnEJB-1.0-SNAPSHOT.jar,
Dann in Ihre UserController Klasse, versuchen Sie, entfernen die mappedName, fügen Sie einfach die EJB-annotation.
Oder, Sie können dieses :
InformationsquelleAutor Xi CHEN