PippoSof
neo
Joined: 05/30/2013 05:37:32
Messages: 1
Offline
|
Hi everyone,
my question is related to the DSO configurations.
I know that, in the root sections of a DSO configuration, we can determine which objects in the application should be shared by the cluster.
Then, in the "instrumentation" section, we state which classes should have their bytecode instrumented at load-time.
Finally, in the "locks" section, we can determine which methods should have cluster-aware concurrency semantics injected into them.
My questions are:
1) What happens if in the "instrumentation" section we put some classes that are not referenced by the shared objects roots (e.g. classes that are not in the shared obejcts graphs?) What effects does this configuration produce?
2) What happens if, in the "locks" section we put methods of classes that:
- are neither in the "root" nor in the "instrumentation" section.
- are in the "instumentation" section but not in the "root" section.
In other words, instrumented classes and locks only work on objects that are in the shared object graph formed following references from the root objects?
For example:
- root object is A and it has no references to objects B, C and D.
- object B is also present in the list of instrumented classes but not in the root.
- object C is present in the list of instrumented classes and there's also a lock defined on C.foo(). C is not in the root.
- D is neither defined in the root sections nor in the instrumentation section, but a lock is defined on D.bar()
What effects have this configuration on objects A, B, C, D?
Thank you very much!!
|