我正在嘗試使用tomcat 6.0.32,cxf 2.4.1來設置一個簡單的restful web應用程序。任何時候我發出任何呼叫,我都會得到一個異常「沒有名爲'cxf'的bean被定義」,其中cxf是我的總線。沒有定義名爲'cxf'的bean
查看應用程序日誌,我可以看到cxf實例已創建並緩存。
================ APP日誌中的開始======================
910 DEBUG - 創建單豆 'CXF'
910 DEBUG的共享實例 - 創建bean的實例 'CXF'
1018 DEBUG - 急切緩存豆 'CXF' 允許解決潛在的循環引用
1031調試 - 返回尚未完全初始化的單例bean'cxf'的急切緩存實例 - 循環引用的結果倫斯
1034 DEBUG - 返回單豆 'org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor'
1035 DEBUG的緩存實例 - - 豆 'CXF'
1035調試完成創建實例返回單豆 'org.apache.cxf.bus.spring.Jsr250BeanPostProcessor'
1035 DEBUG的緩存實例 - 返回緩存的單bean實例, 'org.apache.cxf.bus.spring.BusExtensionPostProcessor'
1035 DEBUG - 創建單豆「連接」的共享實例
1035 DEBUG - 創建豆「連接」
1035 DEBUG的實例 - 急切緩存豆「連接」,以便解決潛在的循環引用
1052 DEBUG - 創建完豆 '連接' 的情況下
1052 DEBUG - 創建豆單 'connectionService'
1052 DEBUG的共享實例 - 創建我豆 'connectionService'
1053 DEBUG的nstance - 急切緩存豆 'connectionService' 允許解決潛在的循環引用
1053 DEBUG - 返回單豆 '連接'
1053 DEBUG的緩存實例 - 選舉單豆 'CXF' 的緩存實例
1121 DEBUG - 調用init方法 '創造' 上豆名爲 'connectionService'
1356 DEBUG - 成品創造bean'connectionService'的立場
1384 DEBUG fecycleProcessing with name'lifecycleProcessor':using default [org.springframework.context.support。DefaultLifecycleProcessor @ 45d1c3cd]
1385 DEBUG - 返回單豆 'lifecycleProcessor'
1387 DEBUG的緩存實例 - 回到單身豆 'CXF'
1387 DEBUG的緩存實例 - 返回singleton的bean的緩存實例「 CXF」
1388 DEBUG - 調用init方法'與名豆 'connectionService創建'
1391 DEBUG - 豆的完成創建實例「connectionService
1391 DEBUG - 無法找到LifecycleProcessor名爲 'lifecycleProcessor':使用默認的[[email protected]3299f6]
1391 DEBUG - 返回singleton的bean的 'lifecycleProcessor'
緩存實例1391 DEBUG - 發佈根WebApplicationContext的與名稱[org.springframework.web.context.WebApplicationContext.ROOT]
1391 INFO ServletContext屬性 - 根的WebApplicationContext:初始化在1390毫秒
完成================ APP LOG END ======================
但是當一個請求進入,它總是失敗,說它找不到這個bean。
===================== Tomcat(localhost)日誌開始==================
信息:初始化春根WebApplicationContext的
2011年7月14日上午08時57分03秒org.apache.catalina.core.ApplicationContext登錄
重度:StandardWrapper.Throwable
org.springframework。 beans.factory.NoSuchBeanDefinitionException:沒有定義名爲'cxf'的bean
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:527)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1083)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:274)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1079)
at org.apache.cxf.transport.servlet.CXFServlet.loadBus(CXFServlet.java:58)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(CXFNonSpringServlet.java:54)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
at java.lang.Thread.run(Thread.java:662)
===================== Tomcat(localhost)日誌結束==================
我能想到的唯一的事情是bean插入到一個上下文中,並且正在從另一個上下文中檢索,但無法驗證或找到解決方法。任何幫助將不勝感激。
只添加 「<進口資源=」 類路徑:META-INF/CXF/cxf.xml 「/>」 是足夠的在我的案件。 –