如何用java创建一个可以被多个用户调用的web服务
我有一个简单的Java和Weblogic Web服务。在这个web服务中,我有一个方法,它接收一些数据,调用另一个web服务,在DB中写入数据,然后用结果回答如何用java创建一个可以被多个用户调用的web服务,java,multithreading,web-services,Java,Multithreading,Web Services,我有一个简单的Java和Weblogic Web服务。在这个web服务中,我有一个方法,它接收一些数据,调用另一个web服务,在DB中写入数据,然后用结果回答 如果我只用一个调用来尝试它,它工作得很好,但是,如果我尝试过SOAP UI,创建一个TestCask,在那里你可以在多个线程中调用Web服务,有时,它工作正常,但是有时候,当在另一个中间有一个调用时,结果是不正确的。p> 问题是,当我调用web服务方法I init时,我必须分析一些变量并将其保存在DB中,因此,如果调用被中断,这些变量将被
如果我只用一个调用来尝试它,它工作得很好,但是,如果我尝试过SOAP UI,创建一个TestCask,在那里你可以在多个线程中调用Web服务,有时,它工作正常,但是有时候,当在另一个中间有一个调用时,结果是不正确的。p> 问题是,当我调用web服务方法I init时,我必须分析一些变量并将其保存在DB中,因此,如果调用被中断,这些变量将被更新,并且当第一次调用完成时,结果不正确,它们使用init值
如果我将synchronized放在web服务方法中,它会工作,但我认为这不是最好的方法,因为我希望同时允许多个用户 最好的方法是什么非常感谢当您开始编写特定于客户端的应用程序时,需要在数据库中保留客户端状态的数据。
因此,当每个客户端使用其cookie/会话访问您的web服务器时,您可以在客户端cookie/会话中获取加密的客户端id,并根据数据库中客户端的值计算服务器端参数。感谢kolossus评论,我已经解决了删除全局变量和仅创建局部变量的问题,因此,每次调用都将创建一个新变量,而不会覆盖公共变量。您使用的是哪个web服务框架?是纯吉吗?例如,纯servlet,Spring…在处理webservice调用的类中不保留任何状态,不管采用何种技术,将所有方法都保持为本地并将数据库连接池。我使用的是Java JDK 1.6,它只是Java。谢谢,但我想这不是我要找的。我没有客户端状态,我希望每个调用不会覆盖另一个调用的变量