运行 2 Tomcat 使用带有 intern() 的不同端口的服务器是否会锁定相同的 ID?

Running 2 Tomcat Servers using different ports with intern() will lock same id or no?

在我的 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" 将不会被共享。