[JBoss jBPM] - JBPM and SEAM
by rwiesemann
Hi,
i'm using JBoss AS 4.2.2 with java 1.6.07.
I have an application A.ear including JBPM. If i deploy this application alone, it works fine.
Than i have an application B.war including SEAM. This application has no relations to the application A.ear. If i deploy the application B.war alone, it works fine.
If i deploy the applications A.ear and B.war together, the first application A.ear throws following Exception by evaluating the expression '#{context.transitionValidateFlight}'.
| [exec] at org.jbpm.graph.exe.Token.signal(Token.java:195)
| [exec] at org.jbpm.graph.exe.Token.signal(Token.java:140)
| [exec] at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:271)
| [exec] at com.psilog.brs.ejb.ProcessDragonBean.execute(ProcessDragonBean.java:72)
| [exec] ... 61 more
| [exec] Caused by: javax.el.PropertyNotFoundException: Target Unreachable, identifier 'context' resolved to null
| [exec] at org.jboss.el.parser.AstValue.getTarget(AstValue.java:38)
| [exec] at org.jboss.el.parser.AstValue.invoke(AstValue.java:95)
| [exec] at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
| [exec] at org.jboss.seam.bpm.SeamExpressionEvaluator$1.evaluate(SeamExpressionEvaluator.java:97)
| [exec] at org.jboss.seam.bpm.SeamExpressionEvaluator.evaluate(SeamExpressionEvaluator.java:45)
| [exec] at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:39)
| [exec] at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:30)
| [exec] at org.jbpm.graph.node.Decision.execute(Decision.java:95)
| [exec] ... 81 more
| [exec] 14:44:39,298 WARN [AbstractDLQHandler] Message redelivered=1 max=0 sending it to the dlq org.jboss.mq.SpyObjectMessage {
| [exec] Header {
| [exec] jmsDestination : TOPIC.psilog-brslh-iface/dragonMessage
| [exec] jmsDeliveryMode : 2
| [exec] jmsExpiration : 0
|
It is fixed by restarting JBoss, without the application B.war.
Anyone can help?
How can i preserve the application A.ear from the SeamExpressionEvaluator? used in application B.war (in the event that is the problem)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4194059#4194059
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4194059
17 years, 4 months
[EJB/JBoss] - pb : having a jboss service depending on jms or NamingContex
by je.a.le
hi,
I have an entreprise application build like this :
- an ejb module, with a jboss service (@service @management annotation), and a mdb
- a war module with a servlet and a webservice
Only use annotation ; jboss 4.2.1.GA, jdk 1.6.0.10 x64, linux, netbeans 6.1
At startup, the start method of my jboss service trigger a mdb to do some loading process in the background.
When hot deploying, no problems, everything fine.
On cold start up (of jboss...), I'm getting a javax.naming.NameNotFoundException. Because my service start before the jms queue, the context cannot create my queue. Look simple, well... not :-)
My problem is I'm cannot get @Depend annotation working. Actually, i cannot find doc on the subject. The closer is this one :
http://www.jboss.org/file-access/default/members/jbossmc/freezone/docs/2....
I looked at the xml config files, the jmx console, the jndi view...
1) is this annotation working in this case ???
2) what is the name of the bean responsible of creating "queue/jms" !?!!?
Some part of my code :
| @Service(name = "FilterServiceBean", objectName = "org.filter.ejb:name=FilterServiceBean,type=ManagementInterface")
| @Local(FilterServiceBeanLocal.class)
| @Remote(FilterServiceBeanRemote.class)
| @Management(FilterServiceBeanManagement.class)
| @Depends("jboss.mq:service=JMSProviderLoader,name=HAJNDIJMSProvider")
| //@Depends("jboss.jms:alias=QueueConnectionFactory")
| //@Depends("jboss:service=Naming")
| public class FilterServiceBean implements FillterServiceBeanRemote, FilterServiceBeanLocal, FilterServiceBeanManagement {
| //...
| public static final String BUILDMESSAGEQUEUE = "queue/jms/MyFilter";
| private Queue queue = null;
| private QueueConnectionFactory factory = null;
| //...
| public void start() throws Exception {
| // *** call an mdb
| InitialContext ctx = new InitialContext();
| queue = (Queue) ctx.lookup(BUILDMESSAGEQUEUE);
| factory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
| //...
| connection = factory.createQueueConnection();
| session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
| messageProducer = session.createProducer(queue);
| //...
| }
|
| //...
| }
|
the exception : (I'm using a singleton - RebuildPostman -, pushed his code into the start method below to make thinks simple :-) )
| 14:14:12,439 ERROR [STDERR] javax.naming.NameNotFoundException: jms not bound
| 14:14:12,439 ERROR [STDERR] at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
| 14:14:12,439 ERROR [STDERR] at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
| 14:14:12,439 ERROR [STDERR] at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
| 14:14:12,439 ERROR [STDERR] at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
| 14:14:12,439 ERROR [STDERR] at org.jnp.server.NamingServer.lookup(NamingServer.java:270)
| 14:14:12,440 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
| 14:14:12,440 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:589)
| 14:14:12,440 ERROR [STDERR] at javax.naming.InitialContext.lookup(InitialContext.java:392)
| 14:14:12,440 ERROR [STDERR] at org.filter.mdb.RebuildPostman.<init>(RebuildPostman.java:35)
| 14:14:12,440 ERROR [STDERR] at org.filter.mdb.RebuildPostman.getInstance(RebuildPostman.java:45)
| 14:14:12,440 ERROR [STDERR] at org.filter.ejb.FilterServiceBean.start(FilterServiceBean.java:136)
|
Thks.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4194056#4194056
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4194056
17 years, 4 months
[JNDI/Naming/Network] - Re: CommunicationException / ClassNotFoundException on looku
by meiners
If the interface project.query.ProjectQHome is merged in the.jar file of the Swing Client,
those of port 2001,2000 and 4444 are used.
If this interface is not merged, those of port 2001,2000,4444 and 8083 are used.
When starting of the JBoss the following is logged:
08:47:05,244 INFO [WebService] Using RMI server codebase: http://MAINSERV:8083
08:47:05,986 INFO [NamingService] Started jndi bootstrap jnpPort=2001, rmiPort=2000, backlog=50, bindAddress=/192.168.1.2, Client SocketFactory=null, Server SocketFactory=org.jboss.net.sockets.DefaultSocketFactory@ad093076
The WebService Using RMI server code base 8083 has here the attitude on MAINSERV.
MAINSERV is the computer name of the Vista machine.
In my opinion that could be the cause for the CommunicationException,
there all Windows machines in the local network the computer 'MAINSERV' to reach (e.g. http://MAINSERV:8080/ for the starting side of the JBoss),
the Debian distribution can so not, but only over the IP address http://192.168.1.2:8080/ for the starting side of the JBoss and http://192.168.1.2:8083/ for the WebService.
I tried to change the codebase properties for run.bat of JBoss.
The changes were also accepted according to JBoss for the WebService, e.g.:
-Djava.rmi.server.codebase=http://192.168.1.2/
-Djava.rmi.server.codebase=http://192.168.1.2:8083/
Perhaps a possibility seems to be,
but that does not function in such a way, because I probably set the wrong data over here.
The local Windows machines throw then an exception, as before with the Debian machine:
javax.naming.CommunicationException [Root exception is java.lang.ClassNotFoundException: project.query.ProjectQHome]
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4194055#4194055
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4194055
17 years, 4 months
[JBoss jBPM] - Re: jBPM/Spring/jUnit
by pojomonkey
Handler code is:
import org.apache.commons.logging.Log;
| import org.apache.commons.logging.LogFactory;
| import org.jbpm.graph.def.ProcessDefinition;
| import org.jbpm.graph.exe.ExecutionContext;
| import org.jbpm.graph.exe.ProcessInstance;
| import org.jbpm.taskmgmt.def.AssignmentHandler;
| import org.jbpm.taskmgmt.exe.Assignable;
|
|
|
| public class NewProcessHandler implements AssignmentHandler {
| private static final long serialVersionUID = 1L;
|
| private final Log log = LogFactory.getLog(NewProcessHandler.class);
|
| public void assign(final Assignable assignable, final ExecutionContext executionContext) throws Exception {
| final ProcessInstance pi = executionContext.getProcessInstance();
| final ProcessDefinition pd = executionContext.getProcessInstance().getProcessDefinition();
| log.info("New process started: " + pd + " version " + pd.getVersion() + " key:" + pi.getKey());
| // Starts process
| executionContext.leaveNode();
| }
The only bit of stack trace I have handy is this:
anonymous wrote : org.jbpm.graph.def.DelegationException: com.xxx.bus.process.handler.NewProcessHandler
| at org.jbpm.taskmgmt.exe.TaskMgmtInstance.performAssignment(TaskMgmtInstance.java:216)
| at org.jbpm.taskmgmt.exe.TaskInstance.assign(TaskInstance.java:204)
| at org.jbpm.taskmgmt.exe.TaskMgmtInstance.createTaskInstance(TaskMgmtInstance.java:154)
| at org.jbpm.taskmgmt.exe.TaskMgmtInstance.createStartTaskInstance(TaskMgmtInstance.java:285)
| at com.xxx.bus.process.ProcessManagerImpl$2.doInJbpm(ProcessManagerImpl.java:174)
| at org.springmodules.workflow.jbpm31.JbpmTemplate.execute(JbpmTemplate.java:92)
| at com.xxx.bus.process.ProcessManagerImpl.startProcess(ProcessManagerImpl.java:150)
|
The actual ClassCastException is thrown in TaskMgmtInstance.performAssignmentDelegation():
AssignmentHandler assignmentHandler = (AssignmentHandler) assignmentDelegation.instantiate();
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4194049#4194049
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4194049
17 years, 4 months