[
https://issues.apache.org/jira/browse/TUSCANY-1398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12526989
]
Jean-Sebastien Delfino commented on TUSCANY-1398:
-------------------------------------------------
Could you please try your test case again? I think this is now fixed. Thanks.
> Nested Callbacks Fail
> ---------------------
>
> Key: TUSCANY-1398
> URL: https://issues.apache.org/jira/browse/TUSCANY-1398
> Project: Tuscany
> Issue Type: Bug
> Components: Java SCA Java Implementation Extension
> Affects Versions: Java-SCA-0.90, Java-SCA-Next
> Reporter: York (He Yuan) HUANG
> Fix For: Java-SCA-Next
>
> Attachments: non-block-orderprocess.zip
>
>
> I created a simple SCA application, which involves an order process. The
> application was attached. Below is the composite file of the application.
> Note that, the callback method of Supplier will invoke the callback interface
> of Customer. Thus, there are nested callbacks.
> <?xml version="1.0" encoding="UTF-8"?>
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
> targetNamespace="http://orderprocess"
> xmlns:cb="http://orderprocess"
> name="orderprocess">
> <component name="Customer">
> <implementation.java class="orderprocess.CustomerImpl"/>
> <reference name="supplier" target="Supplier/Order">
> <interface.java interface="orderprocess.Order"
> callbackInterface="orderprocess.OrderNotification"/>
> </reference>
> </component>
> <component name="Supplier">
> <service name="Order">
> <interface.java interface="orderprocess.Order"
> callbackInterface="orderprocess.OrderNotification"/>
> </service>
> <implementation.java class="orderprocess.SupplierImpl"/>
> <reference name="railway" target="RailwayTransport/Shipment">
> <interface.java interface="orderprocess.Shipment"
> callbackInterface="orderprocess.ShipmentNotification"/>
> </reference>
> <reference name="highway" target="HighwayTransport">
> <interface.java interface="orderprocess.Shipment"
> callbackInterface="orderprocess.ShipmentNotification"/>
> </reference>
> </component>
>
> <component name="HighwayTransport">
> <service name="Shipment">
> <interface.java interface="orderprocess.Shipment"
> callbackInterface="orderprocess.ShipmentNotification"/>
> </service>
> <implementation.java class="orderprocess.HighwayTransport"/>
> <property name="period">5000</property>
> </component>
>
> <component name="RailwayTransport">
> <service name="Shipment">
> <interface.java interface="orderprocess.Shipment"
> callbackInterface="orderprocess.ShipmentNotification"/>
> </service>
> <implementation.java class="orderprocess.RaiwayTransport"/>
> <property name="period">1000</property>
> </component>
>
> </composite>
> However, the application fails on both SCA Java 0.90 and trunk. Below is the
> error message. When I debugged the application, I found that it might be
> caused by wrong "from" info in ThreadMessageContext.
> java.lang.NullPointerException
> at
> org.apache.tuscany.sca.core.invocation.JDKCallbackInvocationHandler.invoke(JDKCallbackInvocationHandler.java:77)
> at $Proxy11.notify(Unknown Source)
> at orderprocess.SupplierImpl.notify(SupplierImpl.java:70)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.tuscany.sca.implementation.java.invocation.JavaTargetInvoker.invokeTarget(JavaTargetInvoker.java:112)
> at
> org.apache.tuscany.sca.implementation.java.invocation.JavaTargetInvoker.invoke(JavaTargetInvoker.java:134)
> at
> org.apache.tuscany.sca.implementation.java.invocation.TargetInvokerInvoker.invoke(TargetInvokerInvoker.java:46)
> at
> org.apache.tuscany.sca.core.invocation.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:84)
> at
> org.apache.tuscany.sca.core.invocation.JDKCallbackInvocationHandler.invoke(JDKCallbackInvocationHandler.java:85)
> at $Proxy13.notify(Unknown Source)
> at orderprocess.RaiwayTransport.doShipping(RaiwayTransport.java:56)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.tuscany.sca.implementation.java.invocation.JavaTargetInvoker.invokeTarget(JavaTargetInvoker.java:112)
> at
> org.apache.tuscany.sca.implementation.java.invocation.JavaTargetInvoker.invoke(JavaTargetInvoker.java:134)RuntimeException
> invoking receiveResult: java.lang.NullPointerException
> at
> org.apache.tuscany.sca.implementation.java.invocation.TargetInvokerInvoker.invoke(TargetInvokerInvoker.java:46)
> at
> org.apache.tuscany.sca.core.invocation.NonBlockingInterceptor$1.run(NonBlockingInterceptor.java:68)
> at org.apache.tuscany.sca.core.work.Jsr237Work.run(Jsr237Work.java:61)
> at
> org.apache.tuscany.sca.core.work.ThreadPoolWorkManager$DecoratingWork.run(ThreadPoolWorkManager.java:206)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
--
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]