[JBoss jBPM] - Re: Assign a task to 2 users, how please?
by stibrian
the previous post is dead on in my experience, and we use the null actorid versus a non-null extensively to determine where a task is to be displayed.
You're using the identity module...
I'm not using the Identity module - we looked at it and we have better luck with a handful of custom swimlane implementations that we use for nearly everything. setActorIds(String[]) works exactly as advertised, and is how we assign to multiple users. And the task does in fact show up exactly where it's supposed to...
curious you're having this problem with the identity module, and I'll be curious to see how it works out. I know if you take full control with your own assignment implementations (they're rather little you know), you'll be more than happy with the flexibility of the assignment system to groups and users in jBPM.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3967545#3967545
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3967545
19 years, 8 months
[JBoss jBPM] - Re: Passing information from UI into taskInstance
by stibrian
there are a number of issues here, starting with the UI - what kind of UI? You'll programatically attack things slightly different is you're coming from the web tier rather than a fat client.
Then variable type comes into play - from the web tier specifically you'll have issues as you'll have to manage the conversion from http speak to strongly typed variables in jBPM.
If you look at the source for the web app there is a good start at getting the job done, though depending on how rich the variables (types) are in the process you may have to do some more work at creating an elegant solution. (see the converter stuff for a clue on this).
We ended up writing a custom chunk of code to parse from the web tier, looking at the variables from a specific task's controller to see what we should be looking for. Depending on how rich the UI is that is feeding the task this can be an easy or small feat... we're presenting a rather dynamic UI for any given task so there's a bit of work to it.
The key will be to look at how the current web app is doing things. Given a task instance there is a clear way to access the controller, and then find out what variables are required etc, and then merge them back into the controller (you merge to the controller rather than the process instance to account for name mapping). The section in the user guide related to this topic gives a clue, and that coupled with the example source should get you there.
At no point though (that i'm aware of) do ActionHandlers come into play unless you're dynamically creating tasks etc (again, see the guide and examples for how this is done). Instead you can do everything you need starting with an actual TaskInstance.
Good luck !
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3967543#3967543
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3967543
19 years, 8 months
[EJB/JBoss] - one urgent question about cluster ejb transaction
by jack0501
my application use clustered ejb based on the two jboss instances and one oracle database.
my existed application use jboss TXConnection for the data update, insert and delete, and use Connection for the data retriving.
sometime we got the exception when we process huge data. you can see the exception under exception one (I pasted in the following)
After I change TXConnection into Connection for database process. Sometime I got another exception. You can see under exception two( I pasted in the following also)
>From my understanding, TXConnection is only for the distributed database.
My question is: can I use connection in my application instead of TXConnection all the time even we have a clustered ejb transaction environment as long as we have one database?
In our application like that, what is the issue we have to be careful?
Thanks for any help.
Jack
Exception two:
2006-08-24 20:43:30,387 WARN [org.jboss.tm.TransactionImpl] Transaction TransactionImpl:XidImpl[FormatId=257, GlobalId=Ottawa/8675, BranchQual=, localId=8675] timed out. status=STATUS_ACTIVE
Exception one:
2006-08-23 21:25:24,938 WARN [com.fxcd.dao.impl.oracle.IdSequenceFactory] Error retrieving connection
org.jboss.util.NestedSQLException: Transaction is not active: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=Ottawa/3285, BranchQual=, localId=3285]; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=Ottawa/3285, BranchQual=, localId=3285])
at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:79)
at com.fxcd.dao.impl.oracle.BaseOracleDaoImpl.getTxConnection(Unknown Source)
at com.fxcd.dao.impl.oracle.IdSequenceFactory.getIdFromSequence(Unknown Source)
at com.fxcd.dao.impl.oracle.IdSequenceFactory.generateIdImpl(Unknown Source)
at com.fxcd.dao.impl.oracle.IdSequenceFactory.generateId(Unknown Source)
at com.fxcd.service.DbfsServiceEJB.generateNewId(Unknown Source)
at sun.reflect.GeneratedMethodAccessor226.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:149)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:154)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:363)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
at org.jboss.ejb.plugins.CleanShutdownInterceptor.invoke(CleanShutdownInterceptor.java:264)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
at org.jboss.ejb.Container.invoke(Container.java:873)
at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:155)
at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:104)
at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:179)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:165)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:97)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:86)
at $Proxy362.generateNewId(Unknown Source)
at sun.reflect.GeneratedMethodAccessor225.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.fxcd.client.ServiceInvoker.invokeLocal(Unknown Source)
at com.fxcd.client.ServiceInvoker.invoke(Unknown Source)
at $Proxy362.generateNewId(Unknown Source)
at com.liaison.webservice.appserver.DbfsAdapter.generateNewId(Unknown Source)
at com.forestexpress.contentdirector.util.LookupFilter.generateID(Unknown Source)
at sun.reflect.GeneratedMethodAccessor224.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:230)
at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1191)
at org.mozilla.javascript.gen.c6527.call(:1208)
at org.mozilla.javascript.gen.c6527.exec()
at org.mozilla.javascript.Context.evaluateReader(Context.java:820)
at org.mozilla.javascript.Context.evaluateString(Context.java:784)
at com.fxcd.service.local.rules.JavascriptBusinessRuleEngine.evaluateScript(Unknown Source)
at com.forestexpress.contentdirector.workflowserver.triggeredbusinessrules.TriggeredBusinessRules.runScript(Unknown Source)
at com.forestexpress.contentdirector.workflowserver.triggeredbusinessrules.TriggeredBusinessRules.triggerRule(Unknown Source)
at com.forestexpress.contentdirector.workflowserver.triggeredbusinessrules.TriggeredBusinessRules.triggerRules(Unknown Source)
at com.forestexpress.contentdirector.workflowserver.triggeredbusinessrules.TriggeredBusinessRules.triggerRules(Unknown Source)
at com.forestexpress.contentdirector.workflowserver.triggeredbusinessrules.TriggeredBusinessRules.triggerPreValidationRules(Unknown Source)
at com.fxcd.service.ValidationServiceEJB.validate(Unknown Source)
at sun.reflect.GeneratedMethodAccessor186.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:149)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:154)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:363)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
at org.jboss.ejb.plugins.CleanShutdownInterceptor.invoke(CleanShutdownInterceptor.java:264)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
at org.jboss.ejb.Container.invoke(Container.java:873)
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:415)
at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:88)
at $Proxy260.validate(Unknown Source)
at com.fxcd.service.RepositoryServiceEJB.validateAndSave(Unknown Source)
at sun.reflect.GeneratedMethodAccessor185.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:149)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:154)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
at org.jboss.ejb.plugins.CleanShutdownInterceptor.invoke(CleanShutdownInterceptor.java:264)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
at org.jboss.ejb.Container.invoke(Container.java:873)
at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
at org.jboss.invocation.jrmp.server.JRMPInvokerHA.invoke(JRMPInvokerHA.java:163)
at sun.reflect.GeneratedMethodAccessor125.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
Caused by: javax.resource.ResourceException: Transaction is not active: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=Ottawa/3285, BranchQual=, localId=3285]
at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:331)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:462)
at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:894)
at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:73)
... 117 more
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3967542#3967542
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3967542
19 years, 8 months