[ 
https://issues.apache.org/jira/browse/TUSCANY-2524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12620061#action_12620061
 ] 

Raymond Feng commented on TUSCANY-2524:
---------------------------------------

We activate the component references in a lazy fashion, In case that a 
reference is not used (either by @Reference injection, or 
ComponentContext.getService()), there is no need to activate the callback 
service since no callback can be made any way.

I think this behavior is reasonable, do you agree?

> Callback service not being activated for binding.ws with multiple references
> ----------------------------------------------------------------------------
>
>                 Key: TUSCANY-2524
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2524
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Assembly Model
>    Affects Versions: Java-SCA-1.3
>            Reporter: Lou Amodeo
>            Assignee: Raymond Feng
>
> I am seeing an issue where callback services are not being properly 
> activated.  My scenario has 2 referernces to the same service that implement 
> a callback.  What I am seeing is the 1st referecne has a service created and 
> activated,  the 2nd reference has a service created but not activated.  I see 
> this code in CompositeActivatorImpl that skips over the activation: 
> public void activate(RuntimeComponent component, RuntimeComponentService 
> service) {
>         if (service.getService() == null) {
>             if (logger.isLoggable(Level.WARNING)) {
>                 logger.warning("Skipping component service not defined in the 
> component type: " + component.getURI()
>                     + "#"
>                     + service.getName());
>             }
>             return;
> The 2nd reference does not have a callback service active.....  
> SCDL: 
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
>            targetNamespace="http://helloworld";
>            name="helloworldwsclient">
>     <component name="HelloWorldClientComponent">
>       <implementation.java class="helloworld.HelloWorldServiceComponent"/>   
>   
>       <reference name="helloWorldService">
>           <interface.java interface="helloworld.HelloWorldService"
>                 callbackInterface="helloworld.HelloWorldCallback"/>  
>           <binding.ws 
> wsdlElement="http://soa/sca/hello-ws-async#wsdl.port(HelloWorldService/HelloWorldSoapPort)"/>
>           <callback>
>             <binding.ws 
> wsdlElement="http://soa/sca/hello-ws-async#wsdl.binding(HelloWorldCallbackSoapBinding)"/>
>           </callback> 
>       </reference>
>       <reference name="helloWorldService2">
>           <interface.java interface="helloworld.HelloWorldService"
>                 callbackInterface="helloworld.HelloWorldCallback"/>  
>           <binding.ws 
> wsdlElement="http://soa/sca/hello-ws-async#wsdl.port(HelloWorldService/HelloWorldSoapPort)"/>
>           <callback>
>             <binding.ws 
> wsdlElement="http://soa/sca/hello-ws-async#wsdl.binding(HelloWorldCallbackSoapBinding)"/>
>           </callback> 
>       </reference>
>     </component>
> </composite>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to