如何通过ServletContextListener将选项传递给Java VM?

如何通过ServletContextListener将选项传递给Java VM?,java,jboss,jboss6.x,servletcontextlistener,Java,Jboss,Jboss6.x,Servletcontextlistener,如何通过一个实现了javax.servlet.ServletContextListener的类在代码库中指定传递给Java VM的选项,例如JBoss的standalone.conf中的Java\u OPTS所用的选项?您不知道JAVA_选项是JVM初始化期间使用的主要选项。运行ServletContextListener时,JVM已经初始化。--此外,这些选项会影响整个JVM,您的Web应用程序不应该做影响在同一JBoss实例中运行的其他Web应用程序的事情。@Andreas难道不能通过类顶部

如何通过一个实现了
javax.servlet.ServletContextListener
的类在代码库中指定传递给Java VM的选项,例如JBoss的
standalone.conf
中的
Java\u OPTS
所用的选项?

您不知道<代码>JAVA_选项是JVM初始化期间使用的主要选项。运行
ServletContextListener
时,JVM已经初始化。--此外,这些选项会影响整个JVM,您的Web应用程序不应该做影响在同一JBoss实例中运行的其他Web应用程序的事情。@Andreas难道不能通过类顶部的静态代码块来完成吗?如果没有,您如何像
JAVA_OPTS
那样指定要传递给JAVA VM的选项,而不具体更改
standalone.conf
?在我回答之前,您要指定什么选项?正如我已经说过的,大多数选项都是JVM初始化选项,不能在初始化完成后指定。如果您指的是
-Dname=value
选项,则可以随时使用,但我强烈建议您不要这样做,因为这可能会影响其他Web应用。@Andreas我正在尝试在最近的[JBoss 6.4.20修补程序][1]之后向jackson白名单添加一个包,因此,在
standalone.conf
中,它将类似于
-Djackson.deserialization.whitelist.packages=foo.bar.baz
。你能再详细说明一下为什么不鼓励这样做吗?据我所知,这是唯一一个部署到这个JBoss服务器上的webapp,但我想进一步了解一下您的观点。[1] :如果您知道您的webapp是唯一的webapp,或者是唯一使用Jackson的webapp,那么这不是问题。但是你知道吗?如果没有,您是否了解设置该值会对其他Web应用程序产生什么意外影响?