[ 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]