-
1. Re: new work item definition: email connection
tomarenz Aug 12, 2011 12:20 PM (in response to tomarenz)Another question concerns how to save generated forms into Other assets. From the video this seems to occur automatically, however in v. 1.0.0.0.54 it doesn't happen: forms are created but not added to Other assets. No errors.
-
2. Re: new work item definition: email connection
tsurdilovic Aug 13, 2011 10:44 AM (in response to tomarenz)1 of 1 people found this helpfulHi Renzo, in the video you mentioned we are using the jBPM installer as described in docs http://docs.jboss.org/jbpm/v5.1/userguide/ch03.html.
As also described in docs (http://docs.jboss.org/jbpm/v5.1/userguide/ch13.html) each workitem needs to have a workitem handler class which gets to do the actual work and is delegated to by the process engine.
So the only "trick" that was not shown in the video was the configuration of the Email workitem handler which happens in
$jbpm-installer-dir/conf/META-INF
there you will see a CustomWorkItemHandlers.conf file which you need to edit and add the workitem handler class for the Email workitem, for example:
[
"Log": new org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler(),
"Email": new org.jbpm.process.workitem.email.EmailWorkItemHandler("MySMTPHost","MySMTPPort","MyUsername","MyPassword"),
]
Since org.jbpm.process.workitem.email.EmailWorkItemHandler is already available in the distro and is on the classpath at runtime, you do not need to write any code. For other workitem handlers, you would need to add the configuration in CustomWorkItemHandlers.conf as well as place a jar with your handler impl class(es) on the classpath so they can be found.
After any changes to $jbpm-installer-dir/conf/META-INF/CustomWorkItemHandler.conf you need to run in $jbpm_console_dir:
ant clean.demo
ant install.demo
ant start.demo
so that your configuration changes get copied to the right locations.
Hope this helps.
-
3. Re: new work item definition: email connection
tsurdilovic Aug 13, 2011 10:51 AM (in response to tomarenz)In Designer when you create an image of your process (png) or create the process and task form ftl templates, Designer attempts to also store them to Guvnor. Please check your server logs again, even if no exception is thrown there should be some indication of possible failure to connect to Guvnor.
To connect to Guvnor, Designer uses default options provided in $designer.war/profiles/jbpm.xml. Bottom of this file contains:
<externalloadurl protocol="http" host="localhost:8080" subdomain="drools-guvnor/org.drools.guvnor.Guvnor/oryxeditor" usr="admin" pwd="admin"/>
If you are running guvnor on a different host, port or subdomain, or have auth configured and changed the admin user password for example, you would need to reflect those changes in this xml file (which means you need to deploy designer as an exploded war in jboss as).
One more way I can think of to check what is going on in your situation is to use an FF addon like HttpFox and look at all outgoing http connections from Designer to Guvnor, and see what the response codes are..this could also reveal any problems.
Hope this helps.
-
4. Re: new work item definition: email connection
tomarenz Aug 22, 2011 7:47 AM (in response to tsurdilovic)Hi Tihomir, back from holidays:
>> In Designer when you create an image of your process (png) or create the process and task form ftl templates, Designer attempts to also store them to Guvnor. Please check your server logs again, even if no exception is thrown there should be some indication of possible failure to connect to Guvnor. <<
No errors in server.log. Last entries - after generating forms - are:
2011-08-22 13:40:05,171 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-6) INFO 22-08 13:40:05,170 (NilAuthenticator.java:authenticate:35) All users are guests. 2011-08-22 13:40:05,198 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-6) INFO 22-08 13:40:05,198 (NilAuthenticator.java:authenticate:35) All users are guests. 2011-08-22 13:40:05,227 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-6) INFO 22-08 13:40:05,227 (NilAuthenticator.java:authenticate:35) All users are guests 2011-08-22 13:40:06,428 INFO [com.intalio.web.server.TaskFormsServlet] (http-localhost%2F127.0.0.1-8080-1) check connection response code: 204
2011-08-22 13:40:06,433 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-6) INFO 22-08 13:40:06,432 (NilAuthenticator.java:authenticate:35) All users are guests.
2011-08-22 13:40:06,436 INFO [com.intalio.web.server.TaskFormsServlet] (http-localhost%2F127.0.0.1-8080-1) create connection response code: 405
-
5. Re: new work item definition: email connection
tsurdilovic Aug 22, 2011 8:34 AM (in response to tomarenz)Last line
create connection response code: 405
does not look good. I need more info from you like what exact guvnor and designer versions you are using, as well as the host and port numbers you are running guvnor on. Also if you have Guvnor jaas auth and/or rolebased auth turned on.
-
6. Re: new work item definition: email connection
tomarenz Aug 22, 2011 9:25 AM (in response to tsurdilovic)Installation was fully standard (jbpm-installer from jbpm-5.1.0.Final-bin.zip), except for the designer, which is your unofficial designer-1.0.0.054-jboss.war to enable saving expression language setting.
DroolsGuvnor is reached as http://localhost:8080/drools-guvnor. Default login is guest.
>> Also if you have Guvnor jaas auth and/or rolebased auth turned on.<<
No, I don't even know what they are.
Also I tried to generate a png. Log was:
2011-08-22 15:22:21,939 INFO [com.intalio.web.server.TransformerServlet] (http-localhost%2F127.0.0.1-8080-6) check connection response code: 204
2011-08-22 15:22:24,568 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-5) INFO 22-08 15:22:24,567 (NilAuthenticator.java:authenticate:35) All users are guests.
2011-08-22 15:22:24,569 INFO [com.intalio.web.server.TransformerServlet] (http-localhost%2F127.0.0.1-8080-6) create connection response code: 405
Much like before, with TransformerServlet in place of TaskFormsServlet.
-
7. Re: new work item definition: email connection
tsurdilovic Aug 22, 2011 9:41 AM (in response to tomarenz)Try to replace your Guvnor with 5.3.0-SNAPSHOT. To get that war, go to https://repository.jboss.org/nexus/index.html#nexus-search;quick~guvnor-distribution-wars and navigate to 5.3.0-SNAPSHOT directory, the select the first in list (guvnor-distributions-wars-5.3.0-SNAPSHOT-jboss-as-5.1.war), in the "Artifact Info" tab then click on the Download button.
Place this war in your $jbpm_installer/lib directory and in $jbpm_installer/build.properties change
drools.guvnor.version=.....
to
drools.guvnor.version=5.3.0-SNAPSHOT
and in $jbpm_installer dir run
ant clean.demo
ant install.demo
ant start.demo
for the new version to be picked up. irrc there were some changes to the Guvnor REST API after the jBPM5.1 release that fixed these issues with posting new content.
Hope this helps.
-
8. Re: new work item definition: email connection
tomarenz Aug 22, 2011 10:18 AM (in response to tsurdilovic)Done. Now no more access to Guvnor, log is:
2011-08-22 16:10:59,730 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-3) ERROR 22-08 16:10:59,729 (LoggingHelper.java:error:74) Type '[Lorg.drools.guvnor.client.configurations.Capability;' was not assignable to 'com.google.gwt.user.client.rpc.IsSerializable' and did not have a custom field serializer.For security purposes, this type will not be serialized.: instance = [Lorg.drools.guvnor.client.configurations.Capability;@69b34f89 2011-08-22 16:10:59,732 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/drools-guvnor].[securityService]] (http-localhost%2F127.0.0.1-8080-3) Servlet.service() for servlet securityService threw exception
java.lang.NullPointerException
at org.drools.guvnor.server.util.LoggingHelper.error(LoggingHelper.java:76) at org.drools.guvnor.server.SecurityServiceServlet.doUnexpectedFailure(SecurityServiceServlet.java:55) at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:67) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42) at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:65) at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) -
9. Re: new work item definition: email connection
tsurdilovic Aug 22, 2011 11:06 AM (in response to tomarenz)Damn, may be some issue with 5.3 SNAPSHOT war I am not aware of. Will try here and report. The one I build locally works fine. Worst case I can upload mine somewhere for you to use.
-
10. Re: new work item definition: email connection
tsurdilovic Aug 22, 2011 11:13 AM (in response to tomarenz)Could you just try to clear your browser cache and try to open guvnor in a new tab/window?
-
11. Re: new work item definition: email connection
tomarenz Aug 22, 2011 11:34 AM (in response to tsurdilovic)Aghhh ... after cleaning the cache it seems working. I noticed defaultPackage contents now in the right panel.
But since jBoss was reinstalled, I have the infamous heap error, so I must patch jBoss again.
Then I will retry and let you know.
-
12. Re: new work item definition: email connection
tomarenz Aug 22, 2011 1:41 PM (in response to tomarenz)Now it seems working: package "Other assets" shows png images and forms. I can play with diagrams and rebuild the package.
But the console works no longer: it times out while refreshing the process list, although no error is logged on the server.
Browser says:
2011-08-22 19:22:48,687 [DEBUG] GET: http://localhost:8080/gwt-console-server/rs/process/definitions
2011-08-22 19:23:08,688 [ERROR] <ul><li>URL: 'http://localhost:8080/gwt-console-server/rs/process/definitions'
<li>Action: 'org.jboss.bpm.console.client.process.UpdateDefinitionsAction'
<li>Exception: 'class java.io.IOException'</ul>
Request timeout
java.io.IOException:
Request timeout
After insisting several times, a java heap error appears and jBoss appears blocked (I cannot even stop it).
Log is (there are 2 processes stored in Guvnor):
2011-08-22 19:21:10,642 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-6) Loading process from Guvnor: boh
2011-08-22 19:21:10,642 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-6) Loading process from Guvnor: BPMN2-ExclusiveSplit
2011-08-22 19:21:31,639 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-6) Loading process from file system: Evaluation.bpmn
2011-08-22 19:21:58,659 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-5) INFO 22-08 19:21:58,659 (NilAuthenticator.java:authenticate:35) All users are guests.
2011-08-22 19:21:58,659 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-5) INFO 22-08 19:21:58,659 (RepositoryServlet.java:allowUser:113) admin authenticated for rest api
2011-08-22 19:21:58,659 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-5) INFO 22-08 19:21:58,659 (PackageDeploymentServlet.java:execute:134) PackageName: defaultPackage
2011-08-22 19:21:58,659 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-5) INFO 22-08 19:21:58,659 (PackageDeploymentServlet.java:execute:135) PackageVersion: LATEST
2011-08-22 19:21:58,659 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-5) INFO 22-08 19:21:58,659 (PackageDeploymentServlet.java:execute:136) PackageIsLatest: true
2011-08-22 19:22:01,170 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-5) INFO 22-08 19:22:01,170 (PackageDeploymentServlet.java:execute:137) PackageIsSource: false
2011-08-22 19:22:11,107 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-4) Loading process from Guvnor: boh
2011-08-22 19:22:11,107 INFO [STDOUT] (http-localhost%2F127.0.0.1-8080-4) Loading process from Guvnor: BPMN2-ExclusiveSplit
ok until here, but console times out and it doesn't show any process.
Then:
2011-08-22 19:22:28,408 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/gwt-console-server].[Resteasy]] (http-localhost%2F127.0.0.1-8080-6) Servlet.service() for servlet Resteasy threw exception
org.jboss.resteasy.spi.UnhandledException: java.lang.RuntimeException: Could not initialize stateful knowledge session: Java heap space
at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:319)
at org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:230)
at org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:206)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:360)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:173)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:93)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:68)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.bpm.console.server.util.GWTJsonFilter.doFilter(GWTJsonFilter.java:59)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: Could not initialize stateful knowledge session: Java heap space
at org.jbpm.integration.console.CommandDelegate.newStatefulKnowledgeSession(CommandDelegate.java:185)
at org.jbpm.integration.console.CommandDelegate.getSession(CommandDelegate.java:193)
at org.jbpm.integration.console.CommandDelegate.<init>(CommandDelegate.java:71)
at org.jbpm.integration.console.ProcessManagement.<init>(ProcessManagement.java:35)
at org.jbpm.integration.console.ManagementFactory.createProcessManagement(ManagementFactory.java:22)
at org.jbpm.integration.console.ManagementFactory.createProcessManagement(ManagementFactory.java:19)
at org.jboss.bpm.console.server.ProcessMgmtFacade.getProcessManagement(ProcessMgmtFacade.java:98)
at org.jboss.bpm.console.server.ProcessMgmtFacade.getDefinitionsJSON(ProcessMgmtFacade.java:122)
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.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:117)
at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:260)
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:232)
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:166)
at org.jboss.resteasy.core.DispatcherUtilities.getJaxrsResponse(DispatcherUtilities.java:142)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
... 28 more
Caused by: java.lang.OutOfMemoryError: Java heap space
-
13. Re: new work item definition: email connection
tsurdilovic Aug 22, 2011 6:48 PM (in response to tomarenz)I have honestly not encountered the OOM issues so far on any of my computers (I test designer and console in same setup as what you have on 3v different machines after any change ). There is possibly something going on with the Java setup on your machine. I would honestly either try on some other machine to see if you get the same issues, or maybe try to download a new Java runtime and point to it instead. It's really hard for me to suggest anything here because I cannot reproduce it.
-
14. Re: new work item definition: email connection
tomarenz Aug 23, 2011 4:15 AM (in response to tsurdilovic)Just upgraded my jdk from 1.6_21 to 1.6_27 (the latest).
Everything seems running fine now, even much faster than before.