[jboss-user] [JBoss Seam] - interceptor in ejb-jar.xml doesn't works
juangiovanolli
do-not-reply at jboss.com
Thu Jan 4 12:30:44 EST 2007
Hi:
i created a new interceptor and i add it in ejb-jar.xml. this interceptor is a global interceptor, as you can see in my ejb-jar.xml shown below.
The problem is that the interceptor is never reached, That is, the workflowinterceptor is never loaded.
Any ideas???
| <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
| version="3.0">
|
|
| <interceptors>
| <interceptor>
| <interceptor-class>
| org.jboss.seam.ejb.SeamInterceptor
| </interceptor-class>
| </interceptor>
| <interceptor>
| <interceptor-class>
| com.santex.darwin.service.interceptor.WorkflowInterceptor
| </interceptor-class>
| </interceptor>
|
| </interceptors>
|
|
| <assembly-descriptor>
| <interceptor-binding>
| <ejb-name>*</ejb-name>
| <interceptor-class>
| org.jboss.seam.ejb.SeamInterceptor
| </interceptor-class>
| <interceptor-class>
| com.santex.darwin.service.interceptor.WorkflowInterceptor
| </interceptor-class>
| </interceptor-binding>
| </assembly-descriptor>
|
|
| </ejb-jar>
|
my workflowInterceptor is:
| package com.santex.darwin.service.interceptor;
|
| import javax.interceptor.AroundInvoke;
| import javax.interceptor.InvocationContext;
|
| import org.jboss.seam.contexts.Contexts;
|
| /**
| *
| * @author Juan Giovanolli
| * 29/12/2006
| */
| public class WorkflowInterceptor
| {
| @AroundInvoke
| public Object manageWorkflowRuntime(final InvocationContext invocation) throws Exception {
|
| if (invocation.getMethod().isAnnotationPresent(StartActivity.class)) {
| System.out.println("tiene el start");
| }
| if (invocation.getMethod().isAnnotationPresent(EndActivity.class)) {
| System.out.println("tiene el end");
| }
|
| return invocation.proceed();
| }
| }
|
|
and my startActivity and endactivity annotations are
| /**
| *
| */
| package com.santex.darwin.service.interceptor;
|
| import java.lang.annotation.ElementType;
| import java.lang.annotation.Retention;
| import java.lang.annotation.RetentionPolicy;
| import java.lang.annotation.Target;
|
| import javax.interceptor.Interceptors;
|
| /**
| * @author Juan Giovanolli
| * 02/01/2007
| */
| @Target(ElementType.METHOD)
| @Retention(RetentionPolicy.RUNTIME)
|
| //@Interceptors(WorkflowInterceptor.class)
| public @interface StartActivity
| {
|
| }
|
|
| /**
| *
| */
| package com.santex.darwin.service.interceptor;
|
| import java.lang.annotation.ElementType;
| import java.lang.annotation.Retention;
| import java.lang.annotation.RetentionPolicy;
| import java.lang.annotation.Target;
|
| import javax.interceptor.Interceptors;
|
| /**
| * @author Juan Giovanolli
| * 02/01/2007
| */
| @Target(ElementType.METHOD)
| @Retention(RetentionPolicy.RUNTIME)
|
| //@Interceptors(WorkflowInterceptor.class)
| public @interface EndActivity
| {
|
| }
|
|
the class where i testing this is this:
| package com.santex.darwin.example;
|
| import javax.ejb.Remove;
| import javax.interceptor.Interceptors;
|
| import org.jboss.seam.ScopeType;
| import org.jboss.seam.annotations.CreateProcess;
| import org.jboss.seam.annotations.Destroy;
| import org.jboss.seam.annotations.EndTask;
| import org.jboss.seam.annotations.In;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.Out;
| import org.jboss.seam.annotations.StartTask;
| import org.jboss.seam.core.TaskInstance;
| import org.jboss.seam.ejb.SeamInterceptor;
|
| import com.santex.darwin.core.workflow.Task;
| import com.santex.darwin.service.core.workflow.WorkflowManager;
| import com.santex.darwin.service.interceptor.EndActivity;
| import com.santex.darwin.service.interceptor.StartActivity;
| import com.santex.darwin.service.interceptor.WorkflowActivity;
| import com.santex.darwin.service.interceptor.WorkflowInterceptor;
|
| /**
| *
| * @author Juan Giovanolli 29/11/2006
| */
|
| @Name("taskManager")
| //@WorkflowActivity
| //@Interceptors(WorkflowInterceptor.class)
| public class TaskBeanExample implements Task
| {
|
| private String description;
|
| @In(create = true)
| WorkflowManager workflowManager;
|
| @Out(scope = ScopeType.BUSINESS_PROCESS)
| private String a = "S S";
|
| @In(create = true, required = false)
| org.jbpm.taskmgmt.exe.TaskInstance taskInstance;
|
| public String getA()
| {
| return a;
| }
|
| public void setA(String a)
| {
| this.a = a;
| }
|
|
|
| /**
| * @return the description
| */
| public String getDescription()
| {
| return description;
| }
|
| /**
| * @param description
| * the description to set
| */
| public void setDescription(String pDescription)
| {
| this.description = pDescription;
| }
|
| @StartTask
| @StartActivity
| public String startTask()
| {
| // System.out.println(workflowManagerImpl.getPendingTasks("sdfg"));
| System.out.println("ddddddddddddddddddddddddddddddddd" + a);
| a = ">>>>>VAR IN START<<<<<";
| try {
| System.out.println(">>>>>>>>>>startTask1" + taskInstance.getId() + " VARIABLES: "
| + taskInstance.getVariables().toString());
| taskInstance.setVariable("a1", a);
| System.out.println(">>>>>>>>>>startTask2" + taskInstance.getId() + " VARIABLES: "
| + taskInstance.getVariables().toString());
| }
| catch (Exception e) {
| e.printStackTrace();
| }
| return "";
| }
|
| @EndTask
| @EndActivity
| public String endTask()
| {
| System.out.println("ddddddddddddddddddddddddddddddddd" + a);
| a = ">>>>>VAR IN END<<<<<";
| try {
| System.out.println(">>>>>>>>>>endTask1" + taskInstance.getId() + " VARIABLES: "
| + taskInstance.getVariables().toString());
|
| taskInstance.setVariable("a2", a);
| System.out.println(">>>>>>>>>>endTask2" + taskInstance.getId() + " VARIABLES: "
| + taskInstance.getVariables().toString());
|
| }
| catch (Exception e) {
| e.printStackTrace();
| }
| return "";
| }
|
| @Remove
| @Destroy
| public void destroy()
| {
|
| }
|
| @CreateProcess(definition = "ProcessAbstract")
| public String startProcess()
| {
| return "";
| }
|
| }
|
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3998009#3998009
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3998009
More information about the jboss-user
mailing list