我有一个比较笼统的问题,请指教。
我有一个小服务程序。
这个 servlet 有私有字段。
私有字段是一种元数据的东西(公共类元数据{//bla-bla-bla})。
处理GET请求时,此元数据用于执行某些操作。
我想在同一个 servlet 中实现 POST 方法。用户上传文件并更新元数据字段。
问题:使用一个 servlet 实例在多个 web 线程之间共享元数据对象并发访问此私有字段。POST 方法操作(更新元数据对象)会导致元数据状态不一致,并发 GET 请求可能会失败。
问题:在 GET 请求运行时更新元数据对象的最佳方法是什么?
虚拟解决方案:
在每个 GET 请求期间,一开始
同步元数据对象并将其克隆在一个块中,然后释放它。
并发 GET 请求与一致的元数据对象的克隆版本一起使用。
在每个 POST 请求期间。
同步元数据对象并更新其字段。
释放元数据对象。
请建议或批评。