[jboss-user] [JBoss Seam] - Exception when using @EJB (or JNDI to inject a session bean)

antispart do-not-reply at jboss.com
Wed Nov 8 17:08:12 EST 2006


I'm in the process of porting (well, re-creating really) a web app with Seam. It's been working great except that I get an Exception when using @EJB to inject another session bean.

Until now, all my session beans had worked independantly of each other so I hadn't noticed this. 

I have a session bean:

@Stateful
@Name("showMatrix")
@Scope(ScopeType.SESSION)
public class PlayerActionBean implements PlayerActionLocal {   
    @In(create=true)
    private EntityManager entityManagerSeam;
    
    @In(required=false)
    PlayerPlay selectedPlayerPlay;

    @Out(required=false)
    List someList;

    @EJB
    private SomeBeanLocal someBean;
    
    @Factory("someList")
    public void create() {
	// use someBean here
    }
...
}

This worked fine until I tried injecting a session bean "someBean" with @EJB.

Any ideas what could be going wrong?

Stack trace:

javax.ejb.EJBTransactionRolledbackException: java.lang.IllegalArgumentException: could not set field value: showMatrix.selectedPlayerPlay
        at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:93)
        at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
        at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:201)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
 
[ ... ]

        at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:98)
        at $Proxy173.replay(Unknown Source)
        at com.example.web.PlayerActionBean.createMatrix(PlayerActionBean.java:55)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

[ ... ]

16:26:41,666 ERROR [STDERR] calProxy.java:98)
        at $Proxy198.createMatrix(Unknown Source)
        at com.example.web.PlayerActionLocal$$FastClassByCGLIB$$609ecd47.invoke()
        at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
        at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:45)

[ ... ]

Caused by: java.lang.IllegalArgumentException: could not set field value: showMatrix.selectedPlayerPlay
        at org.jboss.seam.Component.setFieldValue(Component.java:1508)
        at org.jboss.seam.Component.injectFields(Component.java:1299)

[ ... ]

16:26:42,151 ERROR [STDERR] tionContext.java:64)
        at org.jboss.seam.interceptors.ManagedEntityIdentityInterceptor.aroundInvoke(ManagedEntityIdentityInterceptor.java:79)
        at sun.reflect.GeneratedMethodAccessor151.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

[ ... ]

Caused by: java.lang.IllegalArgumentException: Could not set field value by reflection: PlayerActionBean.selectedPlayerPlay on: com.example.SlotsPlayerBean with value: class com.example.model.PlayerPlay
        at org.jboss.seam.util.Reflections.set(Reflections.java:75)
        at org.jboss.seam.Component.setFieldValue(Component.java:1504)
        .. 235 more
Caused by: java.lang.IllegalArgumentException
        at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:37)
        at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:57)
        at java.lang.reflect.Field.set(Field.java:656)
        at org.jboss.seam.util.Reflections.set(Reflections.java:61)

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3984332#3984332

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3984332



More information about the jboss-user mailing list