[jBPM] - Human Task Input Data
by Herman Post
Herman Post [http://community.jboss.org/people/hbpost] created the discussion
"Human Task Input Data"
To view the discussion, visit: http://community.jboss.org/message/645518#645518
--------------------------------------------------------------
I have a question about human tasks and the way they specify the input that they are looking for. Is there some manner in which a human task can specify the data that it is expecting at run-time? I am referring to a human task as described in the WS-Human Task Specification, as exposed in the TaskClient implementation. The specification discusses "presentation elements" such as "subject" and "description", but I have seen no mention of task specific data, except in the form of "outcome". I'd like to be able to inspect a human task at run-time and dyamically generate a client form for data input to satisfy the human task.
Thanks,
Herm
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/645518#645518]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 3 months
[jBPM] - No subscribers for: JBPM_HISTORY_SERVICE
by jbpm5_user
jbpm5_user [http://community.jboss.org/people/jbpm5_user] created the discussion
"No subscribers for: JBPM_HISTORY_SERVICE"
To view the discussion, visit: http://community.jboss.org/message/645504#645504
--------------------------------------------------------------
Hey guys,
when I click execution history in the jBPM console, the console crashes with the following exception:
2012-01-09 18:24:47,141 [ERROR] No subscribers for: JBPM_HISTORY_SERVICE<br/>Additional details:<br/>Attempt to send message to subject for which there are no subscribers
2012-01-09 18:25:18,008 [FATAL] Uncaught Exception:
com.google.gwt.core.client.JavaScriptException:
(TypeError): c is null
stack: zQc([object Object],null)@http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.cache.html:115
RHb([object Object],[object Object])@http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.cache.html:2843
iLc([object Object])@http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.cache.html:96
KJ([object Object])@http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.cache.html:1380
xO([object Object],[object Object],false)@http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.cache.html:3011
bO([object Object],[object Object])@http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.cache.html:2822
unb([object Object],[object Object])@http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.cache.html:1648
lJ([object MouseEvent],[object Object],[object HTMLButtonElement])@http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.cache.html:2777
xnb([object Object],[object MouseEvent])@http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.cache.html:2715
Lnb([object MouseEvent])@http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.cache.html:1173
Ejb([object MouseEvent],[object HTMLButtonElement],[object Object])@http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.cache.html:2603
([object MouseEvent])@http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.cache.html:3128
HA((function (a) {var b, c = this;while (c && !(b = c.__listener)) {c = c.parentNode;}c && c.nodeType != 1 && (c = null);b && qlb(b) && Ejb(a, c, b);}),[object HTMLButtonElement],[object Object])@http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.cache.html:2970
([object MouseEvent])@http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.cache.html:2261
fileName: http://localhost:8080/jbpm-console/app/36C12FADF4F13012869D4F98FF4ACD3E.c...
lineNumber: 115
at Unknown.zQc(Unknown source:0)
at Unknown.RHb(Unknown source:0)
at Unknown.iLc(Unknown source:0)
at Unknown.KJ(Unknown source:0)
at Unknown.xO(Unknown source:0)
at Unknown.bO(Unknown source:0)
at Unknown.unb(Unknown source:0)
at Unknown.lJ(Unknown source:0)
at Unknown.xnb(Unknown source:0)
at Unknown.Lnb(Unknown source:0)
at Unknown.Ejb(Unknown source:0)
at Unknown.anonymous(Unknown source:0)
at Unknown.HA(Unknown source:0)
at Unknown.anonymous(Unknown source:0)
at Unknown.anonymous(Unknown source:0)
2012-01-09 18:26:22,676 [FATAL] Uncaught Exception:
java.lang.IllegalArgumentException:
must be positive
at Unknown.cKb(Unknown source:0)
at Unknown.Yx(Unknown source:0)
at Unknown.g2c(Unknown source:0)
at Unknown.cy(Unknown source:0)
at Unknown.anonymous(Unknown source:0)
at Unknown.HA(Unknown source:0)
at Unknown.anonymous(Unknown source:0)
at Unknown.anonymous(Unknown source:0)
What could be the reason?
Regards
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/645504#645504]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 3 months
[Beginner's Corner] - ClassNotFoundException using EJB in RESTfull Application
by h3llghost
h3llghost [http://community.jboss.org/people/h3llghost] created the discussion
"ClassNotFoundException using EJB in RESTfull Application"
To view the discussion, visit: http://community.jboss.org/message/645246#645246
--------------------------------------------------------------
Hello,
I have a EJB project, which contains my entities and connecting to the database via hibernate.
My second project is the dynamic web project containing the classes. I created the dependency, that the project needs the EJB project.
Migrating to AS 7.1 results into ClassNotFoundException, when I am trying to use the RESTfull application.
Here the full log output:
> 19:47:44,536 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/BF3AccessRestrictionJSON]] (http-localhost-127.0.0.1-8080-1) StandardWrapper.Throwable: java.lang.NoClassDefFoundError: Lcom/DataAccessObjectRemote;
> at java.lang.Class.getDeclaredFields0(Native Method) [:1.7.0]
> at java.lang.Class.privateGetDeclaredFields(Unknown Source) [:1.7.0]
> at java.lang.Class.getDeclaredFields(Unknown Source) [:1.7.0]
> at org.jboss.resteasy.core.PropertyInjectorImpl.populateMap(PropertyInjectorImpl.java:139) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.jboss.resteasy.core.PropertyInjectorImpl.<init>(PropertyInjectorImpl.java:57) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.jboss.resteasy.core.InjectorFactoryImpl.createPropertyInjector(InjectorFactoryImpl.java:50) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.jboss.resteasy.spi.ResteasyDeployment.createFromInjectorFactory(ResteasyDeployment.java:280) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.jboss.resteasy.spi.ResteasyDeployment.createApplication(ResteasyDeployment.java:259) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:220) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:67) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:36) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.7.Final.jar:]
> at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:952) [jbossweb-7.0.7.Final.jar:]
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:188) [jbossweb-7.0.7.Final.jar:]
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.7.Final.jar:]
> at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:151) [jboss-as-web-7.1.0.CR1b.jar:7.1.0.CR1b]
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.7.Final.jar:]
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.7.Final.jar:]
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.7.Final.jar:]
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.7.Final.jar:]
> at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:897) [jbossweb-7.0.7.Final.jar:]
> at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:626) [jbossweb-7.0.7.Final.jar:]
> at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2033) [jbossweb-7.0.7.Final.jar:]
> at java.lang.Thread.run(Unknown Source) [:1.7.0]
> Caused by: java.lang.ClassNotFoundException: com.DataAccessObjectRemote from [Module "deployment.BF3AccessRestrictionJSON.war:main" from Service Module Loader]
> at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
> at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
> at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
> at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
> at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
> ... 24 more
>
>
> 19:47:44,540 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/BF3AccessRestrictionJSON].[de.h3llghost.service.RESTService]] (http-localhost-127.0.0.1-8080-1) Allocate exception for servlet de.h3llghost.service.RESTService: java.lang.ClassNotFoundException: com.DataAccessObjectRemote from [Module "deployment.BF3AccessRestrictionJSON.war:main" from Service Module Loader]
> at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
> at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
> at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
> at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
> at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
> at java.lang.Class.getDeclaredFields0(Native Method) [:1.7.0]
> at java.lang.Class.privateGetDeclaredFields(Unknown Source) [:1.7.0]
> at java.lang.Class.getDeclaredFields(Unknown Source) [:1.7.0]
> at org.jboss.resteasy.core.PropertyInjectorImpl.populateMap(PropertyInjectorImpl.java:139) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.jboss.resteasy.core.PropertyInjectorImpl.<init>(PropertyInjectorImpl.java:57) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.jboss.resteasy.core.InjectorFactoryImpl.createPropertyInjector(InjectorFactoryImpl.java:50) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.jboss.resteasy.spi.ResteasyDeployment.createFromInjectorFactory(ResteasyDeployment.java:280) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.jboss.resteasy.spi.ResteasyDeployment.createApplication(ResteasyDeployment.java:259) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:220) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:67) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:36) [resteasy-jaxrs-2.3.0.GA.jar:]
> at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.7.Final.jar:]
> at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:952) [jbossweb-7.0.7.Final.jar:]
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:188) [jbossweb-7.0.7.Final.jar:]
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.7.Final.jar:]
> at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:151) [jboss-as-web-7.1.0.CR1b.jar:7.1.0.CR1b]
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.7.Final.jar:]
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.7.Final.jar:]
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.7.Final.jar:]
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.7.Final.jar:]
> at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:897) [jbossweb-7.0.7.Final.jar:]
> at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:626) [jbossweb-7.0.7.Final.jar:]
> at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2033) [jbossweb-7.0.7.Final.jar:]
> at java.lang.Thread.run(Unknown Source) [:1.7.0]
>
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/645246#645246]
Start a new discussion in Beginner's Corner at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 3 months
[jBPM] - Re: Session Management - only one inside application or one by processs
by gardellajp
gardellajp [http://community.jboss.org/people/gardellajp] created the discussion
"Re: Session Management - only one inside application or one by processs"
To view the discussion, visit: http://community.jboss.org/message/645430#645430
--------------------------------------------------------------
Hi,
With jBPM 5.x, I couldn't found information about about use in production enviroment (real life) and best practices. Decisions about use, for example create a new session per process instances, or use some session for multiple process instances, impact in two ways (there are lots I suppose, I'm not an expert in drools and jBPM).
1) How you write rules:
In the rules you must write carefully when you create multiple process with some session, becouse you can write a rule thinking that impact in one process instances, and in reallity impact in more than one
2) Performance
In don't have time to do stress test to verify how impact use one session per instances. In this way, you have multiple small sessions, but you access more times to database than use one session in memory.
I except some more experience user of jBPM write best contribuition to the community. This things are very important. But, as opposite, is a free product, so if you pay support you will have answer your questions.
Juan
PD: Sorry my english
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/645430#645430]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 3 months
[jBPM] - Session Management - only one inside application or one by processs
by gardellajp
gardellajp [http://community.jboss.org/people/gardellajp] created the discussion
"Session Management - only one inside application or one by processs"
To view the discussion, visit: http://community.jboss.org/message/643768#643768
--------------------------------------------------------------
Hi,
I have some questions about how manage sessions. I read official doc and says:
*+Chapter 4. Core Engine: API+*
+Sessions can be created based on a knowledge base and are used to execute processes and interact with the engine. You can create as many independent session as you need and creating a session is considered relatively lightweight. How many sessions you create is up to you. In general, most simple cases start out with creating one session that is then called from various places in your application. You could decide to create multiple sessions if for example you want to have multiple independent processing units (for example, if you want all processes from one customer to be completely independent from processes for another customer, you could create an independent session for each customer) or if you need multiple sessions for scalability reasons. If you don't know what to do, simply start by having *one knowledge base that contains all your process definitions* and *one create session* that you then use to execute all your processes.+
After read it, I want decide how manage session, so.
1) Create one session inside application and never dispose it.
2) Create a session per process. So when I start a process, I save somewhere the information about which sessionId must use for a processId.
I like option two, with persistent sessions. So when I start a process, I do:
start>>
StatefulKnowledgeSession ksession = newSession();
// start a new process instance
ProcessInstance instance = ksession.startProcess(id, params);
ProcessIntanceInfo(instance.getId(), ksession.getId());
ksession.dispose();
return p;
So in my application I save +p.+ When I must interact with p, I load the session associate with +p.getProcessId()+. Cool, I have a session persistent per process.
But when I go deep in implementation, I found some problems, for example related events. I want listen when a task is complete so I attach some listener to the session when I load/start it. *But* after work with the session I dispose it, so the listener don't work. I think the solution is this:
long processId = p.getProcessId();
int sessionId = p.getSessionId();
StatefulKnowledgeSession s = loadSession(sessionId);
attachListeners(s);
TaskClient t = ....;
t.complete( taskId, serId, outputData, responseHandler );
responseHandler.waitTillDone(5000);
s.dispose();
Now, the questions:
1) With this code, is safe except that the listener will listen the event of complete task?
2) Is this a good way to manage sessions? I don't find a good tutorial or document of differents strategies for handle sessions.
Thanks for your time,
Juan
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/643768#643768]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 3 months