[JBoss JIRA] Created: (JBPM-2867) the 'outcome-value' feature of sub-process does not work
by Yao Yao (JIRA)
the 'outcome-value' feature of sub-process does not work
--------------------------------------------------------
Key: JBPM-2867
URL: https://jira.jboss.org/browse/JBPM-2867
Project: jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: jBPM 4.3
Environment: Eclipse Platform Version: 3.5.1
jBPM 4 Graphical Editor and Tools 1.1.0.v200908252230-31-8s733L3J7D7793
jBPM4.3
Reporter: Yao Yao
Priority: Minor
Hi, guys.
I'm doing some translating work of 《jBPM User Guide》, and I mentioned that in Table 6.21, Section 6.2.7, there are some descriptions about the 'outcome-value'.
Table 6.21. Extra transition elements in case of outcome variable mappings:
=======================================================
Element: outcome-value
Multiplicity: 0..1
Description: If the outcome matches the value, this transition is taken after the sub-process ended. The value is specified with one child element.
=======================================================
But there's no example provided indeed.
Section 6.2.7.2 of 《jBPM User Guide》 shows an example about the outcome variable:
===============================================================
<sub-process name="review" sub-process-key="SubProcessReview" outcome="#{result}">
<transition name="ok" to="next step" />
<transition name="nok" to="update" />
<transition name="reject" to="close" />
</sub-process>
===============================================================
I tried to midify it to:
==============
<sub-process name="review" outcome="#{result}" sub-process-key="SubProcessReview">
<transition name="ok" to="next step">
<outcome-value>
<int value="3"/>
</outcome-value>
</transition>
<transition name="nok" to="update"/>
<transition name="reject" to="close"/>
</sub-process>
==============
But I got org.hibernate.exception.ConstraintViolationException and java.sql.SQLException after:
======================================================================
Map<String, Object> variables = new HashMap<String, Object>();
variables.put("result", 3);
taskService.setVariables(task.getId(), variables);
taskService.completeTask(task.getId());
======================================================================
I don't know whether it's a bug or just I do it a wrong way.
Please tell me the usage of the 'outcome-value' of sub-process. Examples better.
Thanks. Regards from China~
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months
[JBoss JIRA] Created: (JBPM-2570) Problemas con Fork/Join
by Sebastian Castellanos (JIRA)
Problemas con Fork/Join
-----------------------
Key: JBPM-2570
URL: https://jira.jboss.org/jira/browse/JBPM-2570
Project: jBPM
Issue Type: Task
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 4.0
Environment: Windows xp, eclipse Version: 3.4.2 , using hibernate and spring.
Reporter: Sebastian Castellanos
Fix For: jBPM 4.x
Estoy teniendo unos problemas con los Forks/join cuando tengo swimlanes asignados. y no doy en el clavo aún. Quizá se te ocurra algo.
Tengo un grafo sencillo, con 5 tareas. tarea 1, tarea 2 tarea 3 , tarea 4 y tarea 5. tambien tengo un fork y dos joins.
La situacion es asi:
Arranca el proceso y lo primero que hace es lanzar un Fork que ejecuta 3 tareas, Tarea 1 , 2 y 3. las cuales tienen diferentes swimlanes asociados.
de esas 3 tareas, la Tarea1 y la Tarea2 convergen en el Join 1, que el join 1 continua el hilo hacia la tarea 4.
La tarea 4 tiene una transaccion a un Join 2, que se encarga de cerrar la tarea 3 (inicialmente lanzada con la Tarea1 y la Tarea2, pero queaun no esta cerrada).
una vez finaliada la tarea 3 y la 4 deberia continuar el flujo.
Teoricamente, parece estar bien. Practicamente, funciona el Fork/Join si no le asigno swimlanes. Pero al momento de asignarle diferentes swimlanes las 3 tareas iniciales T1 T2 y T3 da problemas, no me esta dejando cerrar el primer Fork. Porque la Tarea1 y la Tarea2 tienen diferentes swimlanes (me esta dando un error de calve foranea entre la tabla de las tareas activas y la de los swimlanes). Por lo que veo, quiere borrar de la tabla de tareas activas una tarea luego de terminarla, pero no la borra de la tabla de swimlanes como deberia y surge el error de la clave foranea.
Este es el error.
could not delete:
[org.jbpm.pvm.internal.task.SwimlaneImpl#164]; nested exception is org.hibernate.exception.ConstraintViolationException
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months
[JBoss JIRA] Created: (JBPM-1147) iCalendar Wrapper for jBPM tasks
by Adrian Apthorp (JIRA)
iCalendar Wrapper for jBPM tasks
--------------------------------
Key: JBPM-1147
URL: http://jira.jboss.com/jira/browse/JBPM-1147
Project: JBoss jBPM
Issue Type: Feature Request
Reporter: Adrian Apthorp
Assigned To: Tom Baeyens
Provide iCalendar Wrapper for jBPM tasks for HTTP and Mail channels.
The following code sample is an example servlet for retrieving tasks in iCalendar format to demonstrate mapping of Taskinstance to iCalendar VTODO.
[code]
package org.jbpm.examples.simple.web;
import java.io.IOException;
import java.net.URI;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Iterator;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
// Use iCal4j package
import net.fortuna.ical4j.model.DateTime;
import net.fortuna.ical4j.model.Property;
import net.fortuna.ical4j.model.TimeZoneRegistry;
import net.fortuna.ical4j.model.TimeZoneRegistryFactory;
import net.fortuna.ical4j.model.component.VEvent;
import net.fortuna.ical4j.model.component.VToDo;
import net.fortuna.ical4j.model.component.VTimeZone;
import net.fortuna.ical4j.model.property.Attach;
import net.fortuna.ical4j.model.property.Attendee;
import net.fortuna.ical4j.model.property.CalScale;
import net.fortuna.ical4j.model.property.Comment;
import net.fortuna.ical4j.model.property.Completed;
import net.fortuna.ical4j.model.property.Contact;
import net.fortuna.ical4j.model.property.Created;
import net.fortuna.ical4j.model.property.Description;
import net.fortuna.ical4j.model.property.Location;
import net.fortuna.ical4j.model.property.Method;
import net.fortuna.ical4j.model.property.Organizer;
import net.fortuna.ical4j.model.property.Priority;
import net.fortuna.ical4j.model.property.ProdId;
import net.fortuna.ical4j.model.property.Version;
import net.fortuna.ical4j.util.UidGenerator;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.mail.AddressResolver;
import org.jbpm.taskmgmt.exe.TaskInstance;
import org.jbpm.context.exe.ContextInstance;
import org.jbpm.graph.exe.*;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* Servlet implementation class for Servlet: ICalServlet
*
*/
public class ICalServlet extends javax.servlet.http.HttpServlet implements
javax.servlet.Servlet {
static final long serialVersionUID = 1L;
private static Log log = LogFactory.getLog(ICalServlet.class);
private String localMachine;
private String PORT = "8080";
private static final String TASK_URI = "/jbpm-console/sa/task.jsf?id=";
public ICalServlet() {
super();
try {
localMachine = java.net.InetAddress.getLocalHost().getHostName();
log.info("Hostname of local machine: " + localMachine);
} catch (java.net.UnknownHostException uhe) {
log.info("Can't Retrieve Hostname");
localMachine = "localhost";
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String pathInfo = null;
log.debug("Request Path:" + request.getPathInfo());
if (request.getPathInfo() != null) {
pathInfo = request.getPathInfo().toLowerCase();
}
boolean isTaskList = pathInfo != null && pathInfo.endsWith("tasklist.ics");
boolean isFreeBusy = pathInfo != null && pathInfo.endsWith("freebusy.ifb");
if (isTaskList) {
doTaskList(request, response);
} else if (isFreeBusy) {
/*
* doGetFreeBusy(request, response);
*/
}
}
/**
*
* http://localhost:8080/calendar/reply?actor=user
*
*/
public final void doTaskList(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
String actorName = req.getParameter("actor");
log.info("Actor:" + actorName);
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
resp.setContentType("text/calendar");
try {
java.util.List toDoList = jbpmContext.getTaskMgmtSession()
.findTaskInstances(actorName);
/*
* jbpmContext.getTaskMgmtSession().findPooledTaskInstances(actorName)
*/
if (toDoList == null) {
resp.sendError(HttpServletResponse.SC_NOT_FOUND,
"No Tasks Found For User");
return;
}
net.fortuna.ical4j.model.Calendar calendar = new net.fortuna.ical4j.model.Calendar();
calendar.getProperties().add(
new ProdId("-//aapthorp//jBPM iCal wrapper//EN"));
calendar.getProperties().add(Version.VERSION_2_0);
calendar.getProperties().add(CalScale.GREGORIAN);
calendar.getProperties().add(Method.REQUEST);
for (Iterator iter = toDoList.iterator(); iter.hasNext();) {
TaskInstance task = (TaskInstance) iter.next();
ProcessInstance processInstance = task.getProcessInstance();
ContextInstance contextInstance = processInstance.getContextInstance();
TimeZoneRegistry registry = TimeZoneRegistryFactory.getInstance()
.createRegistry();
String taskId = String.valueOf(task.getId());
String actorId = task.getActorId();
String taskName = task.getName();
// Due Date - This property defines the date and time that a to do is
// expected to be completed.
net.fortuna.ical4j.model.DateTime dueDate = new net.fortuna.ical4j.model.DateTime(
task.getDueDate());
// Start Date - This property specifies when the calendar component
// begins. There is no direct jBPM equivalent so we use a task variable.
java.util.Calendar beginDate = new GregorianCalendar();
net.fortuna.ical4j.model.TimeZone timezone = registry
.getTimeZone(beginDate.getTimeZone().getID());
net.fortuna.ical4j.model.DateTime startDate = null;
if (contextInstance.hasVariable("start")) {
beginDate.setTime((java.util.Date) contextInstance.getVariable(
"start", task.getToken()));
startDate = new net.fortuna.ical4j.model.DateTime(beginDate.getTime());
startDate.setTimeZone(timezone);
}
dueDate.setTimeZone(timezone);
/*
* Create the VTODO
*
* For testing purposes with user agents that can't handle VTODO's we
* can creat a Vevent VEvent toDo = new VEvent(null,dueDate,taskName+" -
* "+taskId);
*
*/
log.info("Create VTODO: task - " + taskId + " start - " + startDate
+ " due - " + dueDate);
VToDo toDo = new VToDo(startDate, dueDate, taskName + " - " + taskId);
// Creation Date
toDo.getProperties()
.add(
new Created(new net.fortuna.ical4j.model.DateTime(task
.getCreate())));
// End Date a.k.a. Completed Date. This property defines the date and
// time that a to-do was actually completed.
if (task.getEnd() != null) {
toDo.getProperties().add(
new Completed(
new net.fortuna.ical4j.model.DateTime(task.getEnd())));
}
// Generate a UID for the toDo
toDo.getProperties().add((new UidGenerator(taskId)).generateUid());
// Attach URL to Task
toDo.getProperties().add(
new Attach(new URI("http://" + localMachine + ":" + PORT + TASK_URI
+ taskId.toString())));
// Set Contact - We set a task variable for this.
if (contextInstance.hasVariable("Name")) {
toDo.getProperties().add(
new Contact((String) contextInstance.getVariable("Name", task
.getToken())));
}
// Set Location - We set a task variable for this.
if (contextInstance.hasVariable("Address")) {
toDo.getProperties().add(
new Location((String) contextInstance.getVariable("Address", task
.getToken())));
}
// Set Priority
toDo.getProperties().add(new Priority(task.getPriority()));
if (task.getDescription() != null) {
toDo.getProperties().add(new Description(task.getDescription()));
}
java.util.List commentList = task.getComments();
if (commentList != null) {
for (Iterator commentIter = commentList.iterator(); commentIter
.hasNext();) {
org.jbpm.graph.exe.Comment myComment = (org.jbpm.graph.exe.Comment) commentIter
.next();
toDo.getProperties().add(
new net.fortuna.ical4j.model.property.Comment(myComment.getId()
+ ":" + myComment.getTime() + ":" + myComment.getActorId()
+ ":" + myComment.getMessage()));
}
}
// Set Attendee
net.fortuna.ical4j.model.ParameterList attendeePL = new net.fortuna.ical4j.model.ParameterList();
attendeePL.add(new net.fortuna.ical4j.model.parameter.Cn(actorId));
attendeePL.add(new net.fortuna.ical4j.model.parameter.Role(
"REQ-PARTICIPANT"));
attendeePL.add(new net.fortuna.ical4j.model.parameter.PartStat(
"NEEDS-ACTION"));
attendeePL.add(new net.fortuna.ical4j.model.parameter.Rsvp("TRUE"));
AddressResolver addressResolver = (AddressResolver) JbpmConfiguration.Configs
.getObject("jbpm.mail.address.resolver");
URI attendeeURI = new URI("MAILTO", (String) addressResolver
.resolveAddress(actorId), null);
toDo.getProperties().add(new Attendee(attendeePL, attendeeURI));
// Set Organizer
String orgAddress = getFromAddress();
if (orgAddress != null) {
URI mailToURI = new URI("MAILTO", orgAddress, null);
toDo.getProperties().add(new Organizer(mailToURI));
}
calendar.getComponents().add(toDo);
}
resp.getOutputStream().write(calendar.toString().getBytes());
} catch (Exception e) {
e.printStackTrace();
resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
"Caught exception: " + e);
} finally {
jbpmContext.close();
}
}
public String getFromAddress() {
if (JbpmConfiguration.Configs.hasObject("jbpm.mail.from.address")) {
return JbpmConfiguration.Configs.getString("jbpm.mail.from.address");
}
return "jbpm@noreply";
}
}
[/code]
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months
[JBoss JIRA] Created: (JBPM-2384) jopr integration
by Tom Baeyens (JIRA)
jopr integration
----------------
Key: JBPM-2384
URL: https://jira.jboss.org/jira/browse/JBPM-2384
Project: JBoss jBPM
Issue Type: Task
Security Level: Public (Everyone can see)
Reporter: Tom Baeyens
Assignee: Jim Ma
Fix For: jBPM 4.x
Following metrics are on our wishlist:
* manage dead jobs (already available in api)
* number of transactions committed (todo in engine with extra interceptor)
* number of transactions rolledback (todo in engine with extra interceptor)
* average duration of transactions (todo in engine with extra interceptor)
* time spent in jbpm (todo in engine with extra interceptor)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months
[JBoss JIRA] Created: (JBPM-2645) Problem to instanciate ProcessEngine in 4.2
by Alexandre Navarro (JIRA)
Problem to instanciate ProcessEngine in 4.2
-------------------------------------------
Key: JBPM-2645
URL: https://jira.jboss.org/jira/browse/JBPM-2645
Project: jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: jBPM 4.2
Reporter: Alexandre Navarro
Fix For: jBPM 4.x
When I want to instanciate my project engine, I have an exception. It was working in 4.0 and 4.1 but not in 4.2.
I think it is because a field must be setted in jbpm but I don't which.
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processEngine' defined in class path resource [ged/rtma/alice/workflow/core/process/applicationContext-core-process.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.jbpm.api.ProcessEngine org.jbpm.pvm.internal.cfg.SpringConfiguration.buildProcessEngine()] threw exception; nested exception is org.jbpm.pvm.internal.wire.WireException: couldn't initialize object 'org.jbpm.pvm.internal.jobexecutor.JobExecutor': couldn't invoke method start: couldn't invoke 'start' with null on org.jbpm.pvm.internal.jobexecutor.JobExecutor@14ba9a2: no command executor available in job executor
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:444)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:903)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:817)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at ged.rtma.alice.workflow.core.component.DeploymentDemo.main(DeploymentDemo.java:40)
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.jbpm.api.ProcessEngine org.jbpm.pvm.internal.cfg.SpringConfiguration.buildProcessEngine()] threw exception; nested exception is org.jbpm.pvm.internal.wire.WireException: couldn't initialize object 'org.jbpm.pvm.internal.jobexecutor.JobExecutor': couldn't invoke method start: couldn't invoke 'start' with null on org.jbpm.pvm.internal.jobexecutor.JobExecutor@14ba9a2: no command executor available in job executor
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:127)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:435)
... 17 more
Caused by: org.jbpm.pvm.internal.wire.WireException: couldn't initialize object 'org.jbpm.pvm.internal.jobexecutor.JobExecutor': couldn't invoke method start: couldn't invoke 'start' with null on org.jbpm.pvm.internal.jobexecutor.JobExecutor@14ba9a2: no command executor available in job executor
at org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.initialize(ObjectDescriptor.java:238)
at org.jbpm.pvm.internal.wire.WireContext.performInitialization(WireContext.java:533)
at org.jbpm.pvm.internal.wire.WireContext.processPendingInitializations(WireContext.java:564)
at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:450)
at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:437)
at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:417)
at org.jbpm.pvm.internal.wire.WireContext.initializeEagerObjects(WireContext.java:283)
at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:268)
at org.jbpm.pvm.internal.cfg.ProcessEngineImpl.buildProcessEngine(ProcessEngineImpl.java:157)
at org.jbpm.pvm.internal.cfg.SpringConfiguration.buildProcessEngine(SpringConfiguration.java:81)
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:597)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:115)
... 18 more
Caused by: org.jbpm.pvm.internal.wire.WireException: couldn't invoke method start: couldn't invoke 'start' with null on org.jbpm.pvm.internal.jobexecutor.JobExecutor@14ba9a2: no command executor available in job executor
at org.jbpm.pvm.internal.wire.operation.InvokeOperation.apply(InvokeOperation.java:43)
at org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.initialize(ObjectDescriptor.java:234)
... 32 more
Caused by: org.jbpm.api.JbpmException: couldn't invoke 'start' with null on org.jbpm.pvm.internal.jobexecutor.JobExecutor@14ba9a2: no command executor available in job executor
at org.jbpm.pvm.internal.util.ReflectUtil.invoke(ReflectUtil.java:163)
at org.jbpm.pvm.internal.wire.operation.InvokeOperation.apply(InvokeOperation.java:39)
... 33 more
Caused by: org.jbpm.api.JbpmException: no command executor available in job executor
at org.jbpm.pvm.internal.jobexecutor.JobExecutor.start(JobExecutor.java:78)
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:597)
at org.jbpm.pvm.internal.util.ReflectUtil.invoke(ReflectUtil.java:160)
... 34 more
My SpringContext
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="jbpmConfiguration" class="org.jbpm.pvm.internal.cfg.SpringConfiguration">
<constructor-arg value="/ged/rtma/alice/workflow/core/process/jbpm.cfg.xml" />
</bean>
<bean id="processEngine" factory-bean="jbpmConfiguration" factory-method="buildProcessEngine" />
<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
<bean id="executionService" factory-bean="processEngine" factory-method="getExecutionService" />
<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
<bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />
</beans>
My jbpm.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<jbpm-configuration >
<import resource="jbpm.jpdl.cfg.xml" />
<import resource="jbpm.identity.cfg.xml" />
<!--import resource="jbpm.jobexecutor.cfg.xml" /-->
<process-engine-context>
<repository-service />
<repository-cache />
<execution-service >
<command-service></command-service>
</execution-service>
<history-service />
<management-service />
<identity-service />
<task-service />
<!-- Here we needed to change the transaction interceptor -->
<command-service>
<retry-interceptor />
<environment-interceptor />
<spring-transaction-interceptor />
</command-service>
<!-- Added spring as read-context -->
<script-manager default-expression-language="juel"
default-script-language="juel"
read-contexts="execution, environment, process-engine, spring"
write-context="">
<script-language name="juel"
factory="org.jbpm.pvm.internal.script.JuelScriptEngineFactory" />
</script-manager>
<!--authentication /-->
<id-generator />
<types resource="jbpm.variable.types.xml" />
<address-resolver />
<job-executor threads="10" idle="5000" idle-max="10000"/>
</process-engine-context>
<transaction-context>
<repository-session />
<db-session />
<message-session />
<timer-session />
<history-session />
<mail-session>
<mail-server>
<session-properties resource="jbpm.mail.properties" />
</mail-server>
</mail-session>
<!-- Need to set explicitly that we don't want jbpm to create sessions -->
<hibernate-session current="true" />
</transaction-context>
</jbpm-configuration>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months