2011-02-09 47 views
1

我在servlet中有几个全局变量。单独的servlet会话读取和写入这些变量。它们用于协调发布到数据库的值,因此会话保持同步非常重要。我的问题是我可以使用与servlet同步关键字来保持不同的servlet会话在这些全局变量之间相互冲突吗?同步servlet中的全局变量

谢谢,

+2

如果你描述你想要达到的效果会更好。我感觉你在混合个别请求和会话。 – 2011-02-09 05:16:51

回答

2

我建议不要在servlet类本身做这样的事情。让你的servlet的doGet()等调用另一个对象来完成真正的工作。如果这个授权类是一个单身人士,那么你可以完全控制初始化,状态等。

如果你依赖应用服务器如何加载servlet类本身,事情会变得脆弱。最好只是让服务器在任何感觉和不依赖于特定行为的情况下,加载/共享servlet。

+0

替代方案可以是会话变量(在同步方法内修改)或memcached(再次在同步方法内应用更改)。 – stivlo 2011-05-01 11:41:23