私の目標は、Jetty テスト サーバーをセットアップし、カスタム サーブレットを挿入して、プロジェクト内のいくつかの REST クラスをテストすることです。spring xml を使用してサーバーを起動し、そのサーバーに対してテストを実行することができました。私が抱えている問題は、サーバーの起動後、テストを実行する前の時点でプロセスが停止することがあります。桟橋がバックグラウンドに行かなかったようです。私のコンピューターではいつでも動作します。しかし、CI サーバーにデプロイすると機能しません。また、VPN を使用しているときも機能しません。(変。)
テストがスタックしたとき、ブラウザを使用してサーバーにアクセスできたので、サーバーの初期化を完了する必要があります。
これが私の春のコンテキストxmlです: ....
<bean id="servletHolder" class="org.eclipse.jetty.servlet.ServletHolder">
<constructor-arg ref="courseApiServlet"/>
</bean>
<bean id="servletHandler" class="org.eclipse.jetty.servlet.ServletContextHandler"/>
<!-- Adding the servlet holders to the handlers -->
<bean id="servletHandlerSetter" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetObject" ref="servletHandler"/>
<property name="targetMethod" value="addServlet"/>
<property name="arguments">
<list>
<ref bean="servletHolder"/>
<value>/*</value>
</list>
</property>
</bean>
<bean id="httpTestServer" class="org.eclipse.jetty.server.Server" init-method="start" destroy-method="stop" depends-on="servletHandlerSetter">
<property name="connectors">
<list>
<bean class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<property name="port" value="#{settings['webservice.server.port']}" />
</bean>
</list>
</property>
<property name="handler">
<ref bean="servletHandler" />
</property>
</bean>
最新の Jetty 8.1.8 サーバーと Spring 3.1.3 を実行しています。何か案が?