[JBoss Seam] - Re: Question regarding jBPM and Actor assignment
by spambob
Thank you for your answer Gavin.
In the pooledTask component there's only a method to assign the current actor to a task ('assignToCurrentActor()'). Therefore: can we please have a 'assignToActor(String actorId)' method in the pooledTask component - i.e. for a supervisor to assign tasks to his subordinates?!
The 2nd part I probably didn't express clearly. I know that this are two different tasks. The reason I'm asking is because, when the process starts, I have to 'assign' myself to it to move it from the 'pooledTaskInstanceList' to the 'taskInstanceListForType['approve']' list. But, when i approve the task, it's automatically moved to the taskInstanceListForType['ship'].
Therefore I'm assuming that this process is still assigned to me, which means that it wont show up in the 'pooledTaskInstanceList' of other people - as far as I understand it, correct me please if this is wrong.
Now what i want to do is to 'retire' from the process after I finished the 'approve' task so this process shows up in the 'pooledTaskInstanceList' of other people so they can finish the process. How is this 'retiring' possible?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3987780#3987780
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3987780
19Â years, 5Â months
[JBoss Seam] - Re: conversationId and IPC Portlets
by frankr
Both PortletA and B render a page that contain command links:
| <h:commandLink action="#{controller.showContent}">
| #{portal_messages['clickme']}
| </h:commandLink>
|
Because of IPC all actions of PortletA and B are invoked on PortletB (the listening portlet). IPC is implemented using the standard example included in JBoss Portal.
The action method in the controller begins or joins the conversation:
| @Begin(join = true)
| public String showContent() {
| ...
| return "show_content";
| }
|
If I click the command link on PortletB, the behavior is as expected: the conversation starts and it stays in the same conversation on subsequent clicks, nothing wrong here.
When I click on the command link in PortletA, the content renders correctly in PortletB but with a new conversation ID which is again long running. After this also PortletB uses the new conversation ID. So this means every time I click a link in PortletA I get one extra long running conversation.
I either need a way to invoke the action in the controller from A without starting the new conversation or, as a work around, a way to cancel the new conversation and switch back to the old conversation again.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3987773#3987773
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3987773
19Â years, 5Â months
[JBoss Seam] - Question regarding jBPM and Actor assignment
by spambob
Am I correct by saying that the 'pooledTaskInstanceList' shows all tasks who currently don't have an assigned actor and to which the current actor can be assigned?
Further the 'taskInstanceList' and the 'taskInstanceListForType' show all tasks to which the current actor is assigned (the later with the additional constraint of a current processing state)?
If this is correct how am i supposed to assign a certain actor to a certain task (I'm missing a assignTo(String actorId) in the PooledTask class)?
And can I retire from a process after finishing a task? I.e. - in the context of the DVD store orderManagement3 process - the admin in his role of a reviewer approves the order and then wants to resign to return the task to the pooledTaskInstanceList so a shipper - ~ some other employee - can assign himself to the shipping part of the process. Can I retire from a process by assigning it to null and if i do that is the current process state preserved while it is in the taskpool waiting?
It would be great if someone could enlighten me.
Thanks a lot in advance.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3987772#3987772
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3987772
19Â years, 5Â months
[JBoss Seam] - Exception on Seam1.1.CR1
by gus888
Hi Gavin,
I got an exception listed below when I run Seam1.1 CR1. The codes also are listed. The codes run fine Seam1.0.1GA. I don't know it is my codes problem or not. Thank you in advance.
public String create() {
| GroupCategory fgc = em.find(GroupCategory.class,new Integer(1));
| instance.setGroupCategory(fgc);
| instance.setGroupAdmin(user);
| em.persist(instance);
| Person member = em.find(Person.class, user.getPersonId());
| GroupMembership gm = new GroupMembership(instance,member);
| gm.setAccepted(true);
| gm.setAccessable(true);
| gm.setJoinedOn(new Date());
| em.persist(gm);
| isNew = false;
|
| groupExplorer.setInstance(instance);
| refreshFinder();
| return "exploregroup";
| }
2006-11-21 20:32:45,109 ERROR [org.apache.myfaces.lifecycle.PhaseListenerManager] Exception in PhaseListener INVOKE_APPLICATION(5) afterPhase
| java.lang.IllegalStateException: Could not commit transaction
| at org.jboss.seam.jsf.AbstractSeamPhaseListener.commitOrRollback(AbstractSeamPhaseListener.java:312)
| at org.jboss.seam.jsf.TransactionalSeamPhaseListener.handleTransactionsAfterPhase(TransactionalSeamPhaseListener.java:45)
| at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:85)
| at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:89)
| at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:345)
| at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at com.cvn.custom.util.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:132)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:46)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:32)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: org.jboss.tm.JBossRollbackException: Unable to commit, tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=san_gu/106, BranchQual=, localId=106] status=STATUS_NO_TRANSACTION; - nested throwable: (java.lang.IllegalStateException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.cvn.domain.GroupMembership.member -> com.cvn.domain.Person)
| at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:372)
| at org.jboss.tm.TxManager.commit(TxManager.java:240)
| at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:140)
| at org.jboss.seam.jsf.AbstractSeamPhaseListener.commitOrRollback(AbstractSeamPhaseListener.java:301)
| ... 34 more
| Caused by: java.lang.IllegalStateException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.cvn.domain.GroupMembership.member -> com.cvn.domain.Person
| at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:638)
| at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:524)
| at org.jboss.tm.TransactionImpl.doBeforeCompletion(TransactionImpl.java:1491)
| at org.jboss.tm.TransactionImpl.beforePrepare(TransactionImpl.java:1110)
| at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:324)
| ... 37 more
| Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.cvn.domain.GroupMembership.member -> com.cvn.domain.Person
| at org.hibernate.engine.CascadingAction$9.noCascade(CascadingAction.java:353)
| at org.hibernate.engine.Cascade.cascade(Cascade.java:139)
| at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:131)
| at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:122)
| at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:65)
| at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
| at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
| at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
| at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:515)
| ... 40 more
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3987771#3987771
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3987771
19Â years, 5Â months