-
1. Re: application level cache
tom.baeyens Oct 5, 2007 3:11 AM (in response to tom.baeyens)one correction: if we use second level cache, we still will need to implement the caching of the wired objects. rebuilding them each time is not an option for me.
all in all, this is a close call for me.
let's start with using the 2nd level cache and an application cache for classloaders and wired objects. later, we should not forget to add a mechanism to clean those caches from a cluster in case a process needs to be updated (which is different from a re-deployment). i currently don't see any other mechanism then using appserver specific clustering features for that. -
2. Re: application level cache
porcherg Oct 5, 2007 9:26 AM (in response to tom.baeyens)"tom.baeyens@jboss.com" wrote:
one correction: if we use second level cache, we still will need to implement the caching of the wired objects. rebuilding them each time is not an option for me.
as far as I understand, wired objects are associated with an environment. If an object is described in a block context, it should be recreated for each thread (so no cache for these objects).
For objects described in the application context, they may need to be persisted, as they contain useful information about the state of the engine. For example, in the BPEL extension, the publisher has the list of deployed process. If the publisher is not persisted and is recreated from the descriptor, these informations will be lost (this is maybe another discussion)
What do you think needs to be persisted in an environment and which wired objects need to be cached ?
regards,
Guillaume -
3. Re: application level cache
tom.baeyens Oct 5, 2007 9:31 AM (in response to tom.baeyens)if you want data from the db to be available in the environment, you have to implement a context for it. e.g. a BpelEngineContext. That context will make available the persistent state to the environment.
contexts are a way to expose things in the environment. but at no time should the environment/context infrastructure itself be used to persist things. that should be decoupled.