Thanks for posting this test case.  I tried running it against my
updated code that fixes the binding callback problems described in
TUSCANY-1341, and I did not see the failure.  I'll post the complete
set of patches for my fix to TUSCANY-1341 later today.

  Simon

He Yuan Huang wrote:

Ant, I just created a JIRA and attached my application. If possible, I will
try to figure out a patch:-)
https://issues.apache.org/jira/browse/TUSCANY-1398

Best Regards,
York

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Fri, 29 Jun 2007 22:09:08 -0700 ant elder wrote:

On 6/30/07, He Yuan Huang <[EMAIL PROTECTED]> wrote:




Hi,

I created a simple SCA application, which involves an order process. 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)

Best Regards,
York



Is there any chance you could raise a JIRA (
http://issues.apache.org/jira/browse/TUSCANY) and attach your application
so
we could recreate this problem?

And even better if you're keen...also a patch to fix the bug :-)

  ...ant



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to