Servlet上下文是每个应用程序(或每个.WAR)。是否可以存储任何属性,以供服务器上/ EAR内的所有应用程序使用?
答案 0 :(得分:3)
AFAIK,不,就Servlet规范而言。您当然可以查看JNDI(通常用于在多个Web应用程序中查找Connections)或像Hazelcast这样的分布式数据结构提供程序等解决方案。
答案 1 :(得分:1)
EAR / WAR通常是自己的范围,但有些容器有“共享库”的概念,可能提供你想要的东西。有些容器使用平面类加载器,这意味着可以在WAR B中看到来自WAR A的静态字段。总而言之,对于大多数服务器范围的属性,我建议使用system properties,除非属性不是那么静态。
对于更多动态数据,我建议的最后一个选项是创建一个具有所需值的JAR,并将其添加到服务器的类路径中。必须非常小心以确保线程安全等问题。