Uploaded image for project: 'Tuscany'
  1. Tuscany
  2. TUSCANY-3652

Callbacks need to be set on service invocation

    XMLWordPrintableJSON

Details

    Description

      The OASIS java caa spec requires callbacks to be injected only when the type of the callback field or setter method is the same as the callback interface specified on the service. For example, if there are two services in a component:

      <service name="service1">
      <interface.java interface="test.Service1"
      callbackInterface="test.Service1Callback"/>
      </service>

      <service name="service2">
      <interface.java interface="test.Service2"
      callbackInterface="test.Service2Callback"/>
      </service>

      When "service1" is invoked, only callbacks of type Service1Callback should be set on the implementation class. Callbacks of type Service2Callback should be null.

      Currently, the Tuscany runtime is doing all proxy injection once at the component level. We need to move callback injection to service invocation so that we can inject the appropriate callback proxies for the current service and inject null for callbacks that don't apply to the current service.

      Attachments

        Activity

          People

            bdaniel Brent Daniel
            bdaniel Brent Daniel
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: