我在一个项目中使用 JCaptcha 并且需要一种不能直接使用的行为。所以我查看了源代码,看看是否可以扩展它以获得我想要的东西,发现我使用的存储实现 ( MapCaptchaStore ) 使用 HashMap 作为存储...没有同步。
我知道 JCaptcha 不能在集群环境中工作,这不是我的情况,但是同时有多个客户端怎么样?商店实现是在外部同步还是我应该自己滚动并确保它正确同步?
TIA!
最佳答案
从 MapCaptchaStore 的阅读来源来看,这个类不是线程安全的。不过,我并不是 100% 愿意支持这个答案,因为同步可能发生在更高级别(例如,对单个 MapCaptchaStore 实例的所有访问可能会在另一个对象上同步)。
您可以使用 CaptchaStore 的另一个实现。例如,EhcacheCaptchaStore
关于java - jCaptcha 线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4192087/