Fixes for implementation.osgi callbacks and AllowsPassByReference
-----------------------------------------------------------------
Key: TUSCANY-1757
URL: https://issues.apache.org/jira/browse/TUSCANY-1757
Project: Tuscany
Issue Type: Bug
Components: Java SCA OSGi Integration
Reporter: Rajini Sivaram
Priority: Minor
Attachments: itest-osgi-implementation-patch.txt,
modules-implementation-osgi-patch.txt, modules-osgi-runtime-patch.txt
Scoping for callbacks is broken in implementation.osgi. In OSGi, instances are
associated with services rather than components (which are based on the
bundle). To implement SCA scoping for callbacks, the callback should be
associated to one of the instances from the component.
@AllowsPassByReference is not handled correctly for implementation.osgi since
annotations are not read until the implementation provider is started and all
the bundles are resolved. If the names of the implementation classes in the
bundle are not listed in <implementation.osgi/>, annotations will not be read
until the first service instance is obtained from OSGi. Since pass-by-value
interceptor relies on obtaining the list of methods which support
pass-by-reference before this stage, we need to bypass the interceptor and
leave it to the OSGi invoker to decide whether pass-by-reference is allowed.
The patch also modifies itest/osgi-implementation to use a subdirectory under
target/classes as the contribution URL for each of its tests since there are a
large number of tests under this project, and at the moment all the composites
are loaded when each test is run. Conversation and callback tests have also
been added.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]