java ajax方法在被多个源调用时变得混乱

时间:2014-10-13 08:49:00

标签: java ajax servlets

我有一个java portlet应用程序,它调用了一个restful服务。我遇到了一个问题,看起来我遇到了线程安全问题。我有一个专门用于Ajax调用的servlet。这个servlet是从多个位置同时调用的。

看起来我的应用程序变得混乱,因为Ajax servlet同时从不同位置接收多个请求。我没想到这会是一个问题。

有人可以帮助我理解这个问题,其次建议一种修复/改进的方法吗?我想我会努力在这里放一个代码片段,因为它太大而无法证明这个问题。

但基本上这种模式是我使用不同的参数同时从javascript向servlet发出2个ajax请求。基于传入的不同参数,servlet请求的处理是不同的。但它们都调用相同的java静态方法来处理创建json对象。这些静态方法看起来很混乱。

当我在静态方法中打印调试消息时,静态方法显示第一次调用的调试信息,然后静态方法在第一次调用之前开始显示调试信息。

感谢您的帮助,抱歉没有代码片段(可能太长)

1 个答案:

答案 0 :(得分:1)

您只需检查是否存在使用相同非线程安全资源的方法(即字段中的HashMap或其他内容)。如果有,添加锁定或删除这些字段(使它们成为本地)。