Naht @In-Attribut erfordert nicht-null-Wert
Ich arbeite an der Naht und versuchen, zu injizieren eine seam-Komponente mithilfe
@Name("myBeanClass")
@Scope(ScopeType.CONVERSATION)
public class MyBeanClass {
start();
}
und zu versuchen, die oben start()
indem Sie folgenden code aus einer anderen Klasse
@In(create = true, required = false, value = "myBeanClass")
protected MyBeanClass myBeanClass
public Class TestClass {
public void start() {
myBeanClass.start();
}
}
Ich habe sogar versucht, durch ändern Bereichstyp in MyBeanClass
zu sesson etc, dennoch ist es immer noch geben mir die gleiche eception
12:34:43,233 WARN [org.jboss.seam.Component] [http-localhost%2F127.0.0.1-8080-2] Cannot create Seam component, scope is not active: favoriteManager(PAGE)
12:34:43,240 WARN [org.jboss.seam.Component] [http-localhost%2F127.0.0.1-8080-2] Cannot create Seam component, scope is not active: favoriteManager(PAGE)
12:34:53,081 ERROR [org.jboss.aspects.tx.TxPolicy] [http-localhost%2F127.0.0.1-8080-2] javax.ejb.EJBTransactionRolledbackException: @In attribute requires non-null value: myBeanClass.favoriteManager
12:34:53,093 ERROR [STDERR] [http-localhost%2F127.0.0.1-8080-2]
javax.ejb.EJBTransactionRolledbackException: @In attribute requires non-null value: orgUnitUpdateManager.favoriteManager
12:34:53,094 ERROR [STDERR] [http-localhost%2F127.0.0.1-8080-2] at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:115)
12:34:53,094 ERROR [STDERR] [http-localhost%2F127.0.0.1-8080-2] at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
12:34:53,094 ERROR [STDERR] [http-localhost%2F127.0.0.1-8080-2] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:194)
12:34:53,140 ERROR [STDERR] [http-localhost%2F127.0.0.1-8080-2] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
12:34:53,140 ERROR [STDERR] [http-localhost%2F127.0.0.1-8080-2] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
12:34:53,140 ERROR [STDERR] [http-localhost%2F127.0.0.1-8080-2] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
12:34:53,140 ERROR [STDERR] [http-localhost%2F127.0.0.1-8080-2] at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
Und auch ich bin in der Lage zu injizieren anderen Klasse der Gleichen Klasse und ich wurde nicht nur im Fall der Injektion myBeanClass
Kann jeder ein schlagen, wenn ich verpasst haben, was?
Und ich bin sicher, dass die bean-Namen und Variablen-Namen sind die gleichen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich löste das oben genannte problem. Hier gibt es kein problem mit der Einspritzung, aber das problem ist in MyBeanClass. Wir injizieren eine weitere bean genannt MyBeanManager in MyBeanClass, um die Naht nicht in der Lage ist zu Spritzen, ich löste das oben genannte Problem auf zwei Arten:
1) Durch das entfernen der Injektion von FavoriteManager (Wenn es nicht in Ihren bean)
2) Früher wurde ich gespritzt FavoriteManager als
geändert