论坛首页 入门技术论坛

cxf不使用Spring在WebContianer发布服务的方法

浏览 1976 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-11  
SOA
由于单位硬是不给引进Spring的包,于是本人花了一天研究出这个方法.
官方上面的指引不是很清晰,网上的资料又大多没有什么内涵,于是自己看CXF的源码了.
好,废话就不多说了.

1.把web.xml中的CXFServlet的全类名替换成org.apache.cxf.transport.servlet.CXFNonSpringServlet
2.把cxf核心那个包中的META-INF/cxf/bus-extension.xml中的<extension class="org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory" deferred="true">替换成<extension class="org.apache.cxf.transport.servlet.ServletTransportFactory" deferred="true">
3.发布方式为代码方式,可做成配置方式
HelloWorldImpl helloImpl=new HelloWorldImpl();
        Endpoint.publish("/HelloWorld", helloImpl);

这样就可以了,spring相关的包可以去掉,beans.xml也可以去掉.
另外那个CXFNonSpringServletServer误导了我,我学着加了setDefaultBus()这个方法结果覆盖了原来的bus,调了好长的时间.....

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics