[jboss-user] [jBPM] - JBPM 5.1 Final Release with jboss-5.1.0.GA embedded server - Users/Roles/Groups Management

priyakpandey do-not-reply at jboss.com
Sun Jun 26 00:48:42 EDT 2011


priyakpandey [http://community.jboss.org/people/priyakpandey] created the discussion

"JBPM 5.1 Final Release with jboss-5.1.0.GA embedded server - Users/Roles/Groups Management"

To view the discussion, visit: http://community.jboss.org/message/611989#611989

--------------------------------------------------------------
Hi,
I am using the JBPM 5.1 Final version which is released recently for one of the customer which is supposed to goLive very soon.
I hve few important things which is difficult to handle,
1. org.jbpm.DemoTaskService - loads all the users and the groups present in the LoadUsers.mvel and LoadGroups.mvel in the TaskServiceSession. 
     1.1. Practically this is going to be huge performance hit incase of even small size organization with 100 - 150 user/groups.  
     1.2. Is there any way / flag by which the user details of only that particular user is loaded who is accessing the server? 
     1.3 Why it needs to load all the users/groups in the session?
      1.4 It is currently loads .mvel file to load users/groups? Is there any other version of this class which accees DB?
      1.5 When i comment loading of users and groups and try to start a process, it gives following error in the jboss-5.1.0.GA\server\default\log\server.log. It creates the process instance but task is not created.

| 2011-06-25 20:34:24,351 INFO  [STDOUT] (http-localhost%2F127.0.0.1-8080-1) ERROR 25-06 20:34:24,350 (RepositoryServlet.java:doAuthorizedAction:78) |   |
java.lang.NullPointerException
| 
 | at java.io.OutputStream.write(OutputStream.java:58) |
| 
 | at org.drools.guvnor.server.files.FileManagerUtils.loadBinaryPackage(FileManagerUtils.java:188) |
| 
 | 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.seam.util.Reflections.invoke(Reflections.java:22) |
| 
 | at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31) |
| 
 | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) |
| 
 | at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) |
| 
 | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) |
| 
 | at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77) |
| 
 | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) |
| 
 | at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) |
| 
 | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) |
| 
 | at org.jboss.seam.security.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:157) |
| 
 | at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) |
| 
 | at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) |
| 
 | at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166) |
| 
 | at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102) |
| 
 | at org.drools.guvnor.server.files.FileManagerUtils_$$_javassist_3.loadBinaryPackage(FileManagerUtils_$$_javassist_3.java) |
| 
 | at org.drools.guvnor.server.files.PackageDeploymentServlet$1.execute(PackageDeploymentServlet.java:269) |
| 
 | at org.drools.guvnor.server.files.RepositoryServlet.doAuthorizedAction(RepositoryServlet.java:76) |
| 
 | at org.drools.guvnor.server.files.PackageDeploymentServlet.doGet(PackageDeploymentServlet.java:135) |
| 
 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:625) |
| 
 | 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:53) |
| 
 | 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:662) |

2. org.jbpm.integration.console.TaskManagement - loads user roles from Roles.properties
    2.1 Loads all the users roles and in 'Map<String, List<String>> groupListMap'. Again, Why all the users roles are loaded on startup?
    2.2 Is there any option to defer the loading until it is required?
    2.3  Is there any option to point to DB instead of property file?
    2.4 When I change the user role to load for the particular user then task is getting created but it throws exception in the server.log.

I have noticed that whatever changes i need to make, i have to go through the series of classes modify, recompile and then make it work. Is there any pluggable way where-in i just need to implement the interface and specify the implementation class in the configuration file and JBPM should work.

Any help on this would be appreciated as this is critical and we need to deliver it to a client.
Thank you in advance.
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/611989#611989]

Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20110626/6454fe18/attachment.html 


More information about the jboss-user mailing list