[JBoss Seam] - Re: Seam with Spring?
by papick.taboada
Hi Gavin, thanks for the reply.
I saw the statelles layer in seam, its nice. In my special case, I have a architecture ontop of maven2 and spring. Autonomous modules, quite nice.
Seam does really nice magic in the frontend.
For me it looks like JSF as it should have been from the beginning, and its the major technology line-up tha Sun failed to provide with Java EE 5.
"gavin.king(a)jboss.com" wrote : You can have as many variable resolvers as you like. The Seam variable resolver to resolve Seam components, a Spring resolver to resolve Spring beans, etc....
Yes, thats true for JSF, but what about Seam? Is it that extensible too? Would be *very* interesting to have some Spring beans injected into my contextual web model handled by Seam.
greetings from germany,
Papick G. Taboada
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3960246#3960246
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3960246
19 years, 9 months
[JBoss Seam] - Re: Seam and JBPM
by istikhar
1) How we can use JBPM Fork and Join in Seam?
Fork and Join are used in Concurrent executions, Nested Executions. Fork is the starting point for multiple executions(Conversations) while Join is to join in the already existing (Converstaion).
3) How Process Composition would be carried out by using Seam?
Process composition is the ability to include a sub process as part of a super process. This advanced feature makes it possible to add abstraction to process modelling. For the business analyst, this feature is important to handle break down large models in smaller blocks.
4) What is the difference between Node and Task Node?
A) A process graph is made up of nodes and transitions.Each node has a specific type. e.g Node type Task , Decission , State, Fork etc.
B) nodeA task node represents one or more tasks that are to be performed by humans. So when execution arrives in a task node, task instances will be created in the task lists of the workflow participants. After that, the node will behave as a wait state. So when the users perform their task, the task completion will trigger the resuming of the execution. In other words, that leads to a new signal being called on the token.
5) Where to use Simple State and Process State? 6) How to handle Super State using Seam?
Process composition is supported in jBPM by means of the process-state. The process state is a state that is associated with another process definition. When graph execution arrives in the process state, a new process instance of the sub-process is created and it is associated with the path of execution that arrived in the process state. The path of execution of the super process will wait till the sub process instance has ended. When the sub process instance ends, the path of execution of the super process will leave the process state and continue graph execution in the super process.
<process-definition name="hire">
<start-state>
</start-state>
<process-state name="initial interview">
<sub-process name="interview" />
<variable name="a" access="read,write" mapped-name="aa" /> <variable name="b" access="read" mapped-name="bb" />
</process-state>
...
</process-definition>
This 'hire' process contains a process-state that spawns an 'interview' process. When execution arrives in the 'first interview', a new execution (=process instance) for the latest version of the 'interview' process is created. Then variable 'a' from the hire process is copied into variable 'aa' from the interview process. The same way, hire variable 'b' is copied into interview variable 'bb'. When the interview process finishes, only variable 'aa' from the interview process is copied back into the 'a' variable of the hire process.
In general, When a subprocess is started, all variables with read access are read from the super process and fed into the newly created sub process before the signal is given to leave the start state. When the sub process instances is finished, all the variables with write access will be copied from the sub process to the super process. The mapped-name attribute of the variable element allows you to specify the variable name that should be used in the sub process.
simple state
Normally, a node is always executed after a token has entered the node. So the node is executed in the thread of the client.
The Above mentioned are concept taken from JBPM documentation. Kindly Correct me if i am going wrong?
Thanks.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3960245#3960245
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3960245
19 years, 9 months
[JBoss jBPM] - Re: CommandExecutor in aclustered environment
by mgommeringer
Hi,
I would also like to use the CommandExecutor in an cluster (starting it multiple times on different machines). It sounds as if the DBMessageService will not be cluster-ready in the future. Am i right?
If I am not fully wrong it is no big effort to make the DBMessageService cluster-ready.
I looked at the sources and think that the right place (at least in the current CVS) to ensure that a single message is only processed by one CommandExecutor is org.jbpm.db.MessagingSession. The method "nextMessage(String destination)" should return only Message objects that are not locked by another transaction.
Here my -untested- proposal:
| public Message nextMessage(String destination) {
| Message message = null;
| if (nextMessage!=null) {
| message = nextMessage;
| nextMessage = null;
| } else {
| Iterator messageIterator = getMessageIterator(destination);
| if (messageIterator.hasNext()) {
| // Get the next message that was not locked on DB and lock it
| message = getNextUnlockedMessage(messageIterator);
| }
| if (messageIterator.hasNext()) {
| // Get the next message that was not locked on DB and lock it
| nextMessage = getNextUnlockedMessage(messageIterator);
| }
| }
| return message;
| }
|
| private Message getNextUnlockedMessage(Iterator messageIterator) {
| Message message = (Message) messageIterator.next();
| try {
| // try to lock the message
| session.lock(message, LockMode.WRITE);
| // Successfully locked
| return message;
| }
| catch(HibernateException e) {
| if(e.getCause() instanceof LockAcquisitionException) {
| // Failed to acquire the lock - try to get next
| return getNextUnlockedMessage(messageIterator);
| }
| else {
| throw e;
| }
| }
| }
|
Is this code okay for this purpose?
I only recognized that several JBPM classes (also the PersistenceService which creates the MessagingSession) must be modified/overridden in order to plug in a custom implementation here and I would dislike to do this within my project.
Thanks,
Matthias
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3960244#3960244
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3960244
19 years, 9 months
[Installation, Configuration & Deployment] - JNDI connection message
by johncena
I've tried installing the JBOSS AS 4.0.4 GA, and it worked fine. I can view it to the 8080 port.... On my second part of my project... I've tried modifying the ds xmls to my db and I get this message from the console showing 3 JNDI connections. Is this the proper way to use Oracle as my datasource? The reason for this is that, I'll be using Jboss Portal and I've added portal-oracle-ds.xml in the deploy dir (as per instruction from J-portal), and apparently I've changed both xml (oracle-xa-ds and portal-oracle-xa) to my Oracle 10g configurations. Pls bear with me, I'm new to this App Server and hopefully you can give me tips on this.
Will these messages and configurations make some memory allocations to the portal executions? or any delay or conflict?
...
14:39:18,476 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'
14:39:19,505 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=XAOracleDS' to JNDI name 'java:XAOracleDS'
14:39:19,674 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=PortalDS' to JNDI name 'java:PortalDS'
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3960242#3960242
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3960242
19 years, 9 months