在Spring中获取Jetty的initParameter或属性

时间:2014-11-26 11:45:29

标签: java spring embedded-jetty

以下是我现在所做的事情:

在启动多个嵌入式Jetty服务器的Main类中:

System.setProperty("someParameter", "someValue");
WebAppContext appContext = new WebAppContext();
webAppContext.setContextPath("/");
webAppcontext.setDescriptor("src/main/webapp/WEB-INF/web.xml");

Server server = new Server(8080);
server.setHandler(webAppContext);
server.start()

从我春天的application-config.xml开始,我检索这样的值:

<bean id="testController" class="test.TestController">
        <constructor-arg index="0" value="#{ systemProperties['someParameter'] }" />
</bean>

这可行,但是,因为我在循环中启动了一些服务器(具有不同的端口,8080 + i),所以systemProperty会被覆盖,所以我想将系统属性设置为webAppContext的属性,如下所示:

appContext.setAttribute("someParameter", "someValue");

或者像这样

appContext.setInitParameter("someParameter", "someValue");

但我似乎无法找到在Spring上下文中检索这些参数/属性的方法。

无论如何都要在Spring上下文中检索这些参数/属性吗?

1 个答案:

答案 0 :(得分:0)

解决了(感谢@M.Deinum):

添加

<context:property-placeholder />

到application-config.xml,用

设置的值
appContext.setInitParameter("someParameter", "someValue")

可以使用

检索
<constructor-arg index="0" value="${someParameter}" />