Announcement Announcement Module
Collapse
No announcement yet.
jax-rpc response mixup Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • jax-rpc response mixup

    Hi there!

    We are currently developing a spring web application with jax-rpc access to our DAOs.

    The client and server are the same apps except for one being configured to use jdbc directly and the other to use jax-rcp to connect to the jdbc webapp.

    We used the jpetstore example as guideline for the jax-rpc part.
    Our tests showed some strange behaviour when accessing the client with multiple users. It looks like the jax-rpc response from the server cannot be associated with the originating request.

    For example: Client A requests data from the webservice. Before the response for client A is back client B requests some other data. In our case the response for client B is much faster generated by the server so it's send back before the response for client A. What happens now is that client A gets the response for client B resulting in errors like wrong serializer or other strange xml parsing errors.

    The only solution we found so far is making it synchronized. But this is not an option because of the poor performance.

    Is there way way to make the jax-rpc calls behave like ordinary java method calls (the response knows which request triggered it)?

    Henning

  • #2
    jax-rpc dynamic calls

    It seems like we found a solution for our mixup problem. We tried the new feature from the nighly build:

    * reworked JaxRpcPortClientInterceptor to work with JAX-RPC dynamic calls when not given an RMI port interface
    Now the mixup is gone but another problem occured. The spring web app conatining the axis server part increases memory usage for every jax-rpc response sent. When the jvm limit is reached it just stops sending responses and all clients get a timeout.

    Any help here would be greatly appreciated. Thanks!

    Henning

    Comment


    • #3
      Re: jax-rpc dynamic calls

      Originally posted by Henning Teek
      It seems like we found a solution for our mixup problem. We tried the new feature from the nighly build:

      * reworked JaxRpcPortClientInterceptor to work with JAX-RPC dynamic calls when not given an RMI port interface
      Now the mixup is gone but another problem occured. The spring web app conatining the axis server part increases memory usage for every jax-rpc response sent. When the jvm limit is reached it just stops sending responses and all clients get a timeout.

      Any help here would be greatly appreciated. Thanks!

      Henning
      Get the attention of the developers. It is important not to run out of memory. I am about to go in production with a Spring application that also uses JAX-RPC, however not dynamic calls as I provide a RMI port interface.

      Is there also a memory problem when you provide a RMI port interface?

      Comment


      • #4
        Is there also a memory problem when you provide a RMI port interface?
        The memory problem only occurs when we use the direct jax-rpc dynamic calls. When we specify an rmi port interface the memory situation is fine. But as said this weird request/response mixup occurs.

        We now moved to Burlap and Hessian for testing purposes. Here everything looks fine. No mixup, no memory problems and the performance is way better then jax-rpc.

        Fortunately we are able to switch because we provide both the server and the client part of the application.

        Henning

        Comment


        • #5
          The mixup sounds like a multi thread issue to me. That you see data from another thread.

          Thanks for stating you haven't seen memory issues when providing a port.

          Comment

          Working...
          X