tuscany-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brent Daniel <brenthdan...@gmail.com>
Subject Issue with policy intents and shared implementations
Date Mon, 13 Jun 2011 02:30:40 GMT
  Currently, the model resolver caches resolved implementation.java
instances by class name, so there is only one implementation instance
for a particular class. This causes problems when a composite contains
multiple components using the same java implementation class but
different (and conflicting) intents. We add all of the intents found
on the implementation definitions in the composite to the single
resolved implementation instance.

For example:

    <component name="Component_One">

    <component name="Component_Two">

The above configuration will result in an error because the intents
will be merged together on the shared implementation and
managedTransaction.global and managedTransaction.local are mutually

There seems to be a fundamental problem with allowing shared
implementation objects and keeping SCDL configuration attributes in
the same object. The easy fix here for the impl.java case would be to
get rid of the hashCode() override in BaseJavaImplementationImpl so
that each java implementation will have a separate instance, but is
this the right fix? And would it cause any problems beyond possible
performance hits to re-introspect the implementation class, etc?


View raw message