Hi Jean-Sebastien,

The test case has been run again on Tuscany next, Tuscany 0.99, Tuscany 1.0
RC1 respectively. The original test case and a new simpler test case could
be find here.
https://issues.apache.org/jira/browse/TUSCANY-1398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12526989

Looks like it doesn't work, so I reopen the issue. Below you could find the
result:

Result of Tuscany Next Version: svn check out from
http://svn.apache.org/repos/asf/incubator/tuscany/java/sca
------------------------------------------------------------------------------------------------------------------------------------------------------
send a request....
Customer place an order - apple
creating Orders...... I want to buy apple
order placed.   notify me when finished!
Ship apple by HighwayTransport
Ship apple by RailWayTransport
java.lang.NullPointerException
      at
org.apache.tuscany.sca.core.invocation.JDKCallbackInvocationHandler.invoke(
JDKCallbackInvocationHandler.java:104)
      at $Proxy11.notify(Unknown Source)
      at orderprocess.SupplierImpl.notify(SupplierImpl.java:71)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(
JavaImplementationInvoker.java:105)
      at
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(
JDKInvocationHandler.java:233)
      at
org.apache.tuscany.sca.core.invocation.JDKCallbackInvocationHandler.invoke(
JDKCallbackInvocationHandler.java:119)
      at $Proxy13.notify(Unknown Source)
      at orderprocess.RaiwayTransport.doShipping(RaiwayTransport.java:56)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(
JavaImplementationInvoker.java:105)
      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:205)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
Supplier RuntimeException invoking notify: java.lang.NullPointerException

------------------------------------------------------------------------------------------------------------------------------------------------------

Result of Tuscany 0.99 Version
------------------------------------------------------------------------------------------------------------------------------------------------------

send a request....
Customer place an order - apple
creating Orders...... I want to buy apple
order placed.   notify me when finished!
Ship apple by RailWayTransport
Ship apple by HighwayTransport
java.lang.NullPointerException
      at
org.apache.tuscany.sca.core.invocation.JDKCallbackInvocationHandler.invoke(
JDKCallbackInvocationHandler.java:67)
      at $Proxy11.notify(Unknown Source)
      at orderprocess.SupplierImpl.notify(SupplierImpl.java:71)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(
JavaImplementationInvoker.java:91)
      at
org.apache.tuscany.sca.binding.sca.impl.RuntimeSCABindingInvoker.invoke(
RuntimeSCABindingInvoker.java:48)
      at
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(
JDKInvocationHandler.java:270)
      at
org.apache.tuscany.sca.core.invocation.JDKCallbackInvocationHandler.invoke(
JDKCallbackInvocationHandler.java:95)
      at $Proxy13.notify(Unknown Source)
      at orderprocess.RaiwayTransport.doShipping(RaiwayTransport.java:56)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(
JavaImplementationInvoker.java:91)
      at
org.apache.tuscany.sca.binding.sca.impl.RuntimeSCABindingInvoker.invoke(
RuntimeSCABindingInvoker.java:48)
      at
org.apache.tuscany.sca.core.invocation.NonBlockingInterceptor$1.run(
NonBlockingInterceptor.java:69)
      at org.apache.tuscany.sca.core.work.Jsr237Work.run(Jsr237Work.java:61
)
      at
org.apache.tuscany.sca.core.work.ThreadPoolWorkManager$DecoratingWork.run(
ThreadPoolWorkManager.java:205)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
Supplier RuntimeException invoking notify: java.lang.NullPointerException


------------------------------------------------------------------------------------------------------------------------------------------------------


Result of Tuscany 1.0 Version: download from
http://people.apache.org/~antelder/tuscany/1.0-RC1/
------------------------------------------------------------------------------------------------------------------------------------------------------

send a request....
Customer place an order - apple
creating Orders...... I want to buy apple
order placed.   notify me when finished!
Ship apple by RailWayTransport
Ship apple by HighwayTransport
java.lang.NullPointerException
      at
org.apache.tuscany.sca.core.invocation.JDKCallbackInvocationHandler.invoke(
JDKCallbackInvocationHandler.java:104)
      at $Proxy11.notify(Unknown Source)
      at orderprocess.SupplierImpl.notify(SupplierImpl.java:71)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(
JavaImplementationInvoker.java:105)
      at
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(
JDKInvocationHandler.java:233)
      at
org.apache.tuscany.sca.core.invocation.JDKCallbackInvocationHandler.invoke(
JDKCallbackInvocationHandler.java:119)
      at $Proxy13.notify(Unknown Source)
      at orderprocess.RaiwayTransport.doShipping(RaiwayTransport.java:56)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(
JavaImplementationInvoker.java:105)
      at
org.apache.tuscany.sca.core.invocation.NonBlockingInterceptor$1.run(
NonBlockingInterceptor.java:78)
      at org.apache.tuscany.sca.core.work.Jsr237Work.run(Jsr237Work.java:61
)
      at
org.apache.tuscany.sca.core.work.ThreadPoolWorkManager$DecoratingWork.run(
ThreadPoolWorkManager.java:205)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
Supplier RuntimeException invoking notify: java.lang.NullPointerException
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

Best Regards,
York



                                                                       
             "Jean-Sebastien                                           
             Delfino (JIRA)"                                           
             <[EMAIL PROTECTED]                                          To
             pache.org>                He Yuan Huang/China/[EMAIL PROTECTED]   
                                                                        cc
             2007-09-13 13:01                                          
                                                                   Subject
                                       [jira] Commented: (TUSCANY-1398)
                                       Nested Callbacks Fail           
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       





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

Reply via email to