CXF中内嵌的SPRING组件能否剥离掉啊?

0 views
Skip to first unread message

SkyTiger

unread,
Aug 5, 2008, 2:24:21 AM8/5/08
to cxf-zh
应为已经使用了spring dm环境,所以CXF中内嵌的SPRING就没有存在的必要了!

但是如果在类路径下清除了spring的JAR文件,就会出现如下错误:
WARNING: Failed to create application context.
org.springframework.beans.factory.BeanDefinitionStoreException:
IOException parsing XML document from class path resource [META-INF/
cxf/cxf.xml]; nested exception is java.io.FileNotFoundException: class
path resource [META-INF/cxf/cxf.xml] cannot be opened because it does
not exist
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:
334)
at
org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader.loadBeanDefinitions(ControlledValidationXmlBeanDefinitionReader.java:
128)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:
295)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:
143)
at
org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:
108)
at
org.apache.cxf.bus.spring.BusApplicationContext.loadBeanDefinitions(BusApplicationContext.java:
229)
at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:
97)
at
org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:
411)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:
338)
at
org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:
86)
at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:
93)
at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:
87)
at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:
65)
at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:
54)
at
org.apache.cxf.transport.servlet.CXFServlet.loadSpringBus(CXFServlet.java:
99)
at
org.apache.cxf.transport.servlet.CXFServlet.loadBus(CXFServlet.java:
64)
at
org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:
86)
at CXFBundle.MyCXFServlet.init(MyCXFServlet.java:24)
at
org.eclipse.equinox.http.servlet.internal.ServletRegistration.init(ServletRegistration.java:
64)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.registerServlet(ProxyServlet.java:
142)
at
org.eclipse.equinox.http.servlet.internal.HttpServiceImpl.registerServlet(HttpServiceImpl.java:
50)
at CXFBundle.Activator
$HttpServiceTracker.addingService(Activator.java:92)
at org.osgi.util.tracker.ServiceTracker
$Tracked.trackAdding(ServiceTracker.java:1064)
at org.osgi.util.tracker.ServiceTracker
$Tracked.trackInitialServices(ServiceTracker.java:926)
at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:330)
at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:274)
at CXFBundle.Activator.start(Activator.java:30)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl
$2.run(BundleContextImpl.java:999)
at java.security.AccessController.doPrivileged(Native Method)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:
993)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:
974)
at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:
346)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:
350)
at
org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:
1118)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:
634)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:
508)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:
282)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:
468)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:
195)
at org.eclipse.osgi.framework.eventmgr.EventManager
$EventThread.run(EventManager.java:297)

melin

unread,
Aug 5, 2008, 5:58:48 AM8/5/08
to cxf-zh
可以的,写一个servlet来发布服务。给一个实例代码:

@SuppressWarnings("serial")
public class ForumCxfServlet extends CXFNonSpringServlet {
@Override
public void init(ServletConfig servletConfig) throws
ServletException {
super.init(servletConfig);
Bus bus = this.getBus();
BusFactory.setDefaultBus(bus);
HelloWorldImpl impl = new HelloWorldImpl();
Endpoint.publish("/Greeter", impl);
}
}
Reply all
Reply to author
Forward
0 new messages