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]

Reply via email to