`
eddie404956
  • 浏览: 6802 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

阅读更多
由于单位硬是不给引进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