Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 Centos 上运行 tomcat7
我必须从多个 URL 输入同一个实例:一个是通过负载均衡器,第二个是直接连接到特定服务器以进行监控:lb.mydomain.com 和 web1.mydomain.com
问题是我有对象将所有连接作为单例(用作缓存对象)。从两个域进入 tomcat 的那一刻,我看到两个缓存对象,但只有一个 tomcat 进程(使用 grep)
我也有问题,因为我使用 JNI 加载只能加载一次的库。
如何?是否可以仅将 tomcat7 阻止到一个进程(或实例)?
如果我理解正确,您的 webapp 部署了两次(每个虚拟主机一次),并且由于每个 webapp 都有自己的类加载器,因此您最终会得到重复的单例。
要尝试的一件事是将包含这些类的 jar 移到下面,$CATALINA_HOME/lib而不是将其直接放在 webapp 的WEB-INF/lib目录下。这样,Tomcat 的通用类加载器将只加载一次类。
$CATALINA_HOME/lib
WEB-INF/lib