Hi Arun,
we used some in-memory processes for a while in production (servicemix
3.4.0/ode 1.3.5). It works, but there are some issues.
The main one is the limit with the messages queue. Under heavy load the
engine starts logging
Discarding in-memory instance 11149 because it exceeded its time-to-live:
mem.instance(type={it.something.
xyz}outbound-sendpec-process iid=11149)
and new "fresh" requests are not processed. See:
http://grepcode.com/file/repo1.maven.org/maven2/org.apache.ode/ode-bpel-runtime/1.3.5/org/apache/ode/bpel/memdao/ProcessDaoImpl.java#ProcessDaoImpl.discardOldInstances%28%29
This should happen only for very old messages, but somehow the engine
stopped processing all messages as soon as this error appeared. Restarting
the instance was not enough (?) and we had to undeploy the process and
clean everything to resume the operations. I did not do further
investigations.
We slowed down the producer process and now it works fine, but it think
we'll move this process back to database mode.
Bye
Lorenzo