在我的 Tomcat 服务器 Java 代码中,我使用以下代码:
int port = 11111;
rmiConnectToMainServer(port);
id = request.getParameter("id").intern();
synchronized(id) {
//call SaleFunction();
}
以及在另一个Tomcat服务器中的端口
int port = 22222;
问题是: String.intern() 调用是否使用另一个字符串池?或者没有??
假设一个 id=1234 的客户同时从两个 Tomcat 服务器购买,他会被锁定吗???或者可以无锁购买???
请帮助我,我的应用程序现已上线..我担心如果出现问题。
提前谢谢
最佳答案
每个 JVM 有一个字符串池,因此当您的 Tomcat 实例在不同的 JVM 中运行时,您的 “id”
将不会被共享。
关于java - 使用不同端口与 intern() 运行 2 个 Tomcat 服务器是否会锁定相同的 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30571696/