同步 servlet 中的全局变量
我的 servlet 中有几个全局变量。各个 servlet 会话读取和写入这些变量。它们用于协调发布到数据库的值,因此会话保持同步非常重要。我的问题是我可以使用 Servlet 的同步关键字来防止不同的 Servlet 会话在这些全局变量上相互冲突吗?
谢谢你,
I have a couple of global variables in a servlet. Individual servlet sessions read from and wrote to these variables. They are used to coordinate values posted to a database so it is important that the sessions remain in synch. My question is can I use synchronize key words with servlets to keep different servlet sessions from colliding with each other at these global variables?
Thank you,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议不要在 servlet 类本身中做这样的事情。让您的 servlet 的 doGet() 等调用另一个对象来完成实际工作。如果这个委托类是单例,那么您可以完全控制初始化、状态等。
如果您依赖应用程序服务器加载 servlet 类本身的方式,事情可能会变得脆弱。最好让服务器类加载/共享 servlet,只要它愿意,而不依赖于特定行为。
I'd recommend not doing stuff like this in the servlet class itself. Have your servlet's doGet() etc. call into another object to do the real work. If this delegated class is a singleton then you have full control over initialization, state etc.
If you rely on how the app server loads the servlet class itself things can get brittle. Best to just let the server classload/share the servlet whenever it feels like and not depend on specific behavior.