Tuscany
  1. Tuscany
  2. TUSCANY-2270

Conversations do not to work with binding.rmi

    Details

    • Type: Bug Bug
    • Status: Reopened
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: Java-SCA-1.2
    • Fix Version/s: Java-SCA-1.x
    • Component/s: SCA Java Runtime
    • Labels:
      None
    • Environment:
      Windows XP SP2, Intel Core 2 CPU, 2.6, 2GB Ram, jdk 1.5.0_10
    • Patch Info:
      Patch Available

      Description

      I have implemented a Service that uses conversations. The interface is annotated with @Conversational, the implementation is annotated with @Scope("CONVERSATION") and has a member protected String conversationId annotated with @ConversationID.

      The Service runs fine when using binding.sca or binding.ws. If I use binding.rmi I get the following exception:

      org.osoa.sca.ServiceRuntimeException: java.lang.NullPointerException
      at org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:123)
      at org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:89)
      at org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:83)
      at org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.invoke(RuntimeWireImpl.java:134)
      at org.apache.tuscany.sca.binding.rmi.RMIService.invokeTarget(RMIService.java:110)
      at org.apache.tuscany.sca.binding.rmi.RMIService$1.intercept(RMIService.java:95)
      at $java.rmi.server.UnicastRemoteObject$$EnhancerByCGLIB$$8c0275ac.setup(<generated>)
      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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
      at sun.rmi.transport.Transport$1.run(Transport.java:153)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
      at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
      at java.lang.Thread.run(Thread.java:595)
      at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
      at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
      at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
      at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:179)
      at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132)
      at $Proxy14.setup(Unknown Source)
      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.binding.rmi.RMIReferenceInvoker.invokeTarget(RMIReferenceInvoker.java:74)
      at org.apache.tuscany.sca.binding.rmi.RMIReferenceInvoker.invoke(RMIReferenceInvoker.java:51)
      at org.apache.tuscany.sca.extension.helper.impl.InvokerProxy.invoke(BindingsActivator.java:252)
      at org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:108)
      at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
      at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
      at $Proxy13.setup(Unknown Source)
      at impl.CrawlerControllerImpl.doImport(CrawlerControllerImpl.java:23)
      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.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:109)
      at org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:108)
      at org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
      at org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:108)
      at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
      at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
      at $Proxy11.doImport(Unknown Source)
      at launch.LaunchCrawlerComposite.main(LaunchCrawlerComposite.java:26)
      Caused by: java.lang.NullPointerException
      at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:157)
      at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:730)
      at org.apache.tuscany.sca.core.conversation.ConversationManagerImpl.getConversation(ConversationManagerImpl.java:143)
      at org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.conversationPreinvoke(RuntimeWireInvoker.java:157)
      at org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:111)
      at org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:89)
      at org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:83)
      at org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.invoke(RuntimeWireImpl.java:134)
      at org.apache.tuscany.sca.binding.rmi.RMIService.invokeTarget(RMIService.java:110)
      at org.apache.tuscany.sca.binding.rmi.RMIService$1.intercept(RMIService.java:95)
      at $java.rmi.server.UnicastRemoteObject$$EnhancerByCGLIB$$8c0275ac.setup(<generated>)
      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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
      at sun.rmi.transport.Transport$1.run(Transport.java:153)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
      at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
      at java.lang.Thread.run(Thread.java:595)

      Note: Binding.rmi works if not used with Conversations.

        Activity

        Hide
        Rodolfo Dias added a comment -

        Hi all,

        I assign this bug and see that RMI binding NOT support Conversation. I did re-factory in rmi.binding to that it SUPPORT CONVERSATION. In attachment has the sources, class and diff files.

        Thanks. .

        Show
        Rodolfo Dias added a comment - Hi all, I assign this bug and see that RMI binding NOT support Conversation. I did re-factory in rmi.binding to that it SUPPORT CONVERSATION. In attachment has the sources, class and diff files. Thanks. .
        Hide
        Luciano Resende added a comment -

        Reopening as changes haven't been applied to SVN yet.
        Also, it would be very helpful if you could provide a patch based on java-sca-1.x branch or 2.x svn trunk

        Show
        Luciano Resende added a comment - Reopening as changes haven't been applied to SVN yet. Also, it would be very helpful if you could provide a patch based on java-sca-1.x branch or 2.x svn trunk
        Hide
        Rodolfo Dias added a comment -

        Hi Luciano,

        It is based in java-sca-1.x. I go generate other file patch using the svn diff File > patchfile this evening and upload again.

        Thank's .

        Show
        Rodolfo Dias added a comment - Hi Luciano, It is based in java-sca-1.x. I go generate other file patch using the svn diff File > patchfile this evening and upload again. Thank's .
        Hide
        Rodolfo Dias added a comment -

        Hi Luciano,

        I am upload patch file, it patch is based in 2.x version.

        Thank you for you tips about svn .

        Show
        Rodolfo Dias added a comment - Hi Luciano, I am upload patch file, it patch is based in 2.x version. Thank you for you tips about svn .
        Hide
        Luciano Resende added a comment -

        Thanks Rodolfo Dias. Patch applied to SCA 2.x development stream at svn revision #736041.

        Show
        Luciano Resende added a comment - Thanks Rodolfo Dias. Patch applied to SCA 2.x development stream at svn revision #736041.
        Hide
        Luciano Resende added a comment -

        I'm going to reopen so we apply this to 1.x branch. In 2.x branch, we need to wait for what's going to happen with conversation in the OASIS spec.

        Show
        Luciano Resende added a comment - I'm going to reopen so we apply this to 1.x branch. In 2.x branch, we need to wait for what's going to happen with conversation in the OASIS spec.

          People

          • Assignee:
            Rodolfo Dias
            Reporter:
            Daniel Stucky
          • Votes:
            3 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Development