08-05-2011 11:37 AM
08-06-2011 09:12 AM
08-08-2011 10:26 AM
Simply because the processinstances is not one big serialized object, each step can be separately executed.Can you explain "each step"? [Excuse my ignorance, I'm really very new to Activiti..]
If another engine is doing something with the same instance that 'collides'(!!!), you will get an optimistic lock exception and should retry.Interesting, so when will the engine notice the collision? At the time it wants to write back the process state?
08-08-2011 11:48 AM
08-10-2011 04:58 AM
3: yes, when writing to the db. Records have a version number that changes if something else updates afte you read it. So you have version 3 and something else updates, that will be version 4. This can be detected since you have still version 3.Sounds good.
processinstances is not one big serialized objectWould be interested how the process state is saved..
08-19-2011 06:33 AM
No3: yes, when writing to the db. Records have a version number that changes if something else updates afte you read it. So you have version 3 and something else updates, that will be version 4. This can be detected since you have still version 3.Sounds good.
So is the granularity of this versioning on the overall process state (coarse)?
or is it more fine-grained?Yes
(For example, if the only effect of an engine running a process instance is the change of one workflow variable,
will another engine, running the same process instance concurrently, fail to later update the process state even
though it did not update that variable?)
Look at the DBprocessinstances is not one big serialized objectWould be interested how the process state is saved..
Another issue I'm concerned with when engines are simultaneously executing the same processes in different JVMsNo, since timers are read and locked before executing (look at the database table for jobs)
is that of how the "timers" work. Assuming jobExecutorActivate=true for all engines, won't this fire the timers
in every JVM?
Guess I need to understand how this job executor really works.It's not that difficult, but I have some optimizations in the pipeline that make it perform waaaaayyyy faster. Maybe for 5.9 (or 5.8 if the releases will be every two months from now on)
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.