我目前正在开发一个独立的 spring 应用程序(不在容器中)。此应用程序需要提供 Servlet 和 WebService。所以我选择了apache cxf和jetty。
我设法让它工作,但我有两个独立的 Jetty 实例正在运行,一个用于 servlet,另一个用于 cxf。所以我的问题是,我如何指定 CXF 使用哪个 Jetty Server 实例?
以下是我的配置的摘录。
http服务器的设置
<bean id="http-server" class="org.eclipse.jetty.server.Server"
init-method="start" destroy-method="stop">
<property name="connectors">
<list>
<bean class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<property name="port" value="8080" />
</bean>
</list>
</property>
<property name="handler">
<bean id="handlers" class="org.eclipse.jetty.server.handler.HandlerList">
<property name="handlers">
<list>
<ref bean="ServletContainer" />
<bean class="org.eclipse.jetty.server.handler.DefaultHandler" />
</list>
</property>
</bean>
</property>
</bean>
以上适用于servlet...
CXF 的设置
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxws:endpoint id="WebService" implementor="com.MyWebServiceImp"
address="/ws">
<jaxws:features>
<bean class="org.apache.cxf.feature.LoggingFeature" />
</jaxws:features>
<jaxws:properties>
<entry key="faultStackTraceEnabled" value="false" />
<entry key="exceptionMessageCauseEnabled" value="false" />
<entry key="schema-validation-enabled" value="true" />
</jaxws:properties>
</jaxws:endpoint>
使用上述配置,系统启动,但 Web 服务没有“发布”到码头服务器,并且日志中没有任何“异常”。
我几乎尝试了所有我能在谷歌上找到或找到的东西。任何信息或建议将不胜感激,因为我过去几天一直在这方面。
谢谢