[jboss-user] [JBoss Seam] - Seam Managed ActionHandler
jgeraert
do-not-reply at jboss.com
Mon Oct 8 05:26:59 EDT 2007
Hello all,
I'm trying to create a seam managed Action Handler for a jbpm node ( not a task node ). I want to inject a variable into this action which is outjected in a another SLSB.
My process definition:
|
| <?xml version="1.0"?>
| <process-definition name="inkless">
| <start-state name="start">
| <transition name="" to="node1"></transition>
| </start-state>
| <end-state name="end1"></end-state>
| <node name="node1">
| <action name="action1" expression="#{bar.foo}"/>
| <transition name="" to="end1"></transition>
|
| </node>
|
| </process-definition>
|
|
The code that creates the process and Outjects a Context variable:
|
| @Stateless
| @Name("inklessProcessManager")
| @Interceptors(SeamInterceptor.class)
| public class InklessProcessManagerImpl implements InklessProcessManager {
|
| @Out(scope=ScopeType.BUSINESS_PROCESS, value="foo") Integer someThing;
|
| @CreateProcess(definition="inkless")
| public void startProcess() {
| someThing=new Integer(5);
| }
|
| }
|
|
And now my actionhandler which is called in the process definition:
|
| @Stateless
| @Name("bar")
| @Interceptors(SeamInterceptor.class)
| public class BlahBlahActionHandler implements IActionHandler {
|
| /* (non-Javadoc)
| * @see com.melexis.inkless.IActionHandler#foo()
| */
| @In(value="foo", scope=ScopeType.BUSINESS_PROCESS) Integer foe;
|
|
| @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
| public void foo(){
| System.out.println("Foooooooooooooo");
| System.out.println(foe);
| }
|
| }
|
|
And finally the exception i receive:
|
| Caused by: javax.ejb.EJBException: org.jboss.seam.RequiredException: In attribute requires non-null value: bar.foo
| at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:63)
| at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
| at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
| at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:214)
| at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:184)
| at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:81)
| at $Proxy101.foo(Unknown Source)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
| at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
| at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
| at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
| at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
| at org.javassist.tmp.java.lang.Object_$$_javassist_2.foo(Object_$$_javassist_2.java)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
| ... 170 more
|
|
I'm just starting out with jboss seam so it might be my own incompetence, but i think i understood the documentation correctly.
Can someone point out what i'm doing wrong? Thank you.
Best regards,
Jo
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4092453#4092453
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4092453
More information about the jboss-user
mailing list