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