将参数传递给tomcat实例的最佳方法是什么?命令行参数是否可用于容器内的所有应用程序?我可以将参数传递给特定应用吗?我是否需要通过内置的应用服务器进行管理?
修改 为了澄清,我想传递一个参数来指定要使用的配置。有时,这可能会指定一组配置文件,这些配置文件可能因环境而异。
答案 0 :(得分:3)
你可以添加-Dmy.config.var = configA和-Dmy.config.var = configB和CATALINA_OPTS(每次你需要的那个)并通过System.getProperty(“my.config.var”从java中读取它们“)。这些不是环境变量。
答案 1 :(得分:2)
我认为配置它的最佳方法是使用server.xml和context.xml文件。这是添加JNDI配置的地方。您可以为每个应用程序使用不同的context.xml文件。在您的WAR文件中,将其放在META-INF目录中,Tomcat将导入它。
答案 2 :(得分:0)
所有东西都可以通过标准的Java Properties机制看到通用系统环境。此外,环境变量CATALINA_OPTS可用于将参数传递给JVM。
答案 3 :(得分:0)
需要神奇地转到Web应用程序的东西应该放在JNDI中。这允许您在某个地方之外的“全局哈希表”中放置和检索对象。
如果您只需拥有配置文件名,则传入属性(-Dfoo = bar)。