我的應用程序需要若干接口實現需要一個Jetty服務器做他們的工作。然而,在這些接口的每個實現中並不一定如此,所以Jetty服務器只是一個依賴項。依賴注入:碼頭7
因爲這將是一個巨大的痛苦的量與所有的日誌記錄,連接器和處理器配置,以包住整個碼頭的服務器,我想在服務器注入使用Spring的實現。我決定注入Server類不是一個好主意,因爲實現可能會停止服務器,即使它在其他位置需要它。目前,我爲這些實現注入了空的HandlerList
類,並且註冊了它們的處理程序以避免這些問題。
的問題:這些處理可能與其它處理例如干擾:實現一個可以註冊/ foo和實施兩個由太...問題的處理程序。有沒有人在這樣的環境中使用Jetty?這個問題怎麼解決?如果我需要一個空HandlerList
我用這樣的事情哪裏com.example.myapp.util.ioc.CreateHandlerListFactory
是org.springframework.beans.factory.FactoryBean
它創建給定HandlerList
內的新HandlerList
<bean id="jetty" class="org.eclipse.jetty.server.Server" destroy-method="stop">
<property name="connectors">
<list>
<bean class="org.eclipse.jetty.server.bio.SocketConnector">
<property name="host" value="10.8.0.46" />
<property name="port" value="9999" />
</bean>
</list>
</property>
<property name="handler">
<bean class="org.eclipse.jetty.server.handler.HandlerCollection">
<property name="handlers">
<list>
<ref bean="jetty.handlerList" />
<bean class="org.eclipse.jetty.server.handler.RequestLogHandler">
<property name="requestLog">
<bean class="org.eclipse.jetty.server.NCSARequestLog">
<constructor-arg value="${jetty.logfile}" />
<property name="extended" value="false"/>
</bean>
</property>
</bean>
</list>
</property>
</bean>
</property>
<property name="sendServerVersion" value="false" />
</bean>
<bean id="jetty.handlerList" class="org.eclipse.jetty.server.handler.HandlerList" />
:
我的XML澄清我的問題。
<constructor-arg>
<bean class="com.example.myapp.util.ioc.CreateHandlerListFactory">
<constructor-arg ref="jetty.handlerList"/>
</bean>
</constructor-arg>