最近在研究rcp ,想通过spring httpInvoker来解决和服务端通信问题,网上找了些例子也都调通了。可是发现有一种情况怎么也解决不了,就是当客户端反复去取服务端查询得到的map值的时候会出处空指针!究其原因是httpinvok-servlet.xml中scope设置为了prototype,当客户端context.getBean("remoteQueryManagerService")后并没有创建一个实例,而是在客户端接调用某个方法的时候创建服务端实例,因为客户端接口要多次调用方法,因此再次调用的时候又新建了一个实例,导致map为空。我希望客户端在context.getBean("remoteQueryManagerService")的时候就能创建一个实例而不是每次调用相关方法的时候创建实例!
    可能有人会说可以吧scope设为singleton模式,可是这样的话多线程访问一个实例也有问题。当一个线程查询数据量比较大时另一个线程同时执行一个查询,查询结束后把服务端的连接给关闭了,导致原来的线程终止查询。
    这个问题困扰了我好几天了,希望高手能够指点一二!