我使用spring jdbc從數據庫訪問數據的自定義介體類。
我從該類中創建一個jar並將其部署到WSO2_HOME/repository/components/lib中。
之後,我將下面的jar添加到同一個文件夾:
spring-jdbc.jar,
spring-tx.jar。
但是當我嘗試自定義介體時出現「ClassNotFoundException組織\ springframework \ transaction \ support \ TransactionSynchronization」錯誤。
問題是我很確定「TransactionSynchronization」類在spring-tx.jar中可用。任何人都可以幫我解決這個問題嗎? :)自定義介體ClassNotFoundException TransactionSynchronization
回答
一個原因可能是你的類路徑中有兩個包具有相同的'TransactionSynchronization'類。你可以試試下面。
你在WSO2_HOME/repository/components/dropins目錄中有什麼?刪除下拉列表中的所有jar並重新啓動服務器並重新檢查問題。
如果錯誤仍然存在,請嘗試從WSO2_HOME/repository/components/lib中刪除spring-tx.jar WSO2_HOME/repository/components/dropins。然後重新安裝服務器。然後檢查你是否得到相同的錯誤或不同的錯誤?
謝謝,我現在知道問題是什麼,問題是spring-jdbc.jar和spring中的包-tx.jar。包的名稱是相似的,所以當類使用「org/springframework/transaction/support/TransactionSynchronization.class」時,它會從spring-jdbc.jar中進行搜索。解決:) –
我正在經歷相同的行爲。我有一個自定義的spring mediator,它調用了一個基於角色的authNZ的數據庫。我正在運行esb v 4.7.0。
我從maven倉庫下載了spring-tx-3.1.0.RELEASE.jar,並將其複製到我的環境中的/usr/local/wso2/wso2esb-4.7.0/repository/components/lib,然後重新啓動ESB。當我向我的代理服務發出請求時,會發生相同的類未發現異常。
我正在研究罐子內容今天,當我檢查了/usr/local/wso2/wso2esb-4.7.0/repository/components/lib彈簧TX罐子,在目前等級:
jar tf spring-tx-3.1.0.RELEASE.jar | grep TransactionSynchronization
org/springframework/transaction/support/TransactionSynchronization.class
當我做同樣在ESB的重新啓動後/usr/local/wso2/wso2esb-4.7.0/repository/components/dropins,類不存在:
jar tf ../dropins/spring_tx_3.1.0.RELEASE_1.0.0.jar
spring-tx-3.1.0.RELEASE.jar
META-INF/
META-INF/p2.inf
META-INF/MANIFEST.MF
注意,彈簧TX重新啓動Synapse後,OSGi包中不包含jar。
我會進一步調查明天,包括建立一個包含Spring的依賴我通過Eclipse
就像Mr.lakmali-erandi說,請檢查您的lib文件夾,也許有一個jar包含與spring-tx.jar相同的包。 –
Mari, 你最終做了什麼來解決類加載問題? –
嗨胡安,我通過編輯我的jar來解決這個問題。在我的情況下,我有2個jar(spring-jdbc。jar和spring-tx.jar),所以我加入了jar中的所有類,而不是在lib文件夾中部署一個jar。我不知道是否有更好的解決方案,但至少這可以解決我的問題:) –
- 1. 從WSO2自定義介體中記錄
- 2. WSO2 ESB使用自定義介體
- 3. 將我的自定義介體與WSO2 ESB集成log4j
- 4. 在wso2 api管理器中,如何添加自定義介體
- 5. 部署自定義介體時出現WSO2 ESB錯誤
- 6. WSO2自定義介體未以正確的xml格式返回
- 7. 自定義介體中的PostgreSql連接WSO2
- 8. 如何在WSO2中創建自定義介體中的任務?
- 9. SonarQube ClassNotFoundException的python的自定義規則
- 10. 加載自定義類時的ClassNotFoundException
- 11. Log4j自定義Appender最初拋出ClassNotFoundException?
- 12. ClassNotFoundException與jaxb/annox和自定義註釋
- 13. 使用自定義Parcelable時發生ClassNotFoundException
- 14. Liferay文檔和介質Portlet的自定義工作流定義
- 15. 介紹同義詞「自動」
- 16. 自定義字體
- 17. 自定義字體
- 18. 自定義字體
- 19. 自定義字體?
- 20. 使用自定義裝配體中的自定義裝配體
- 21. UILabel自定義字體顯示*錯誤*自定義字體
- 22. 無需重新啓動即可添加自定義介體(Java類)
- 23. WSO2 API管理器 - 如何在自定義介體中構建Http響應
- 24. 創建自定義字體
- 25. CSS - 自定義字體?
- 26. Bootstrap自定義字體
- 27. 設置自定義字體
- 28. 自定義字體麻煩
- 29. 自定義SVG字體
- 30. HTML CSS - 自定義字體
需要一個OSGi包就可以啓動服務器-DosgiConsole,看看「彈簧tx.jar」安裝正確?您可以在osgi控制檯上使用「ss spring-tx」來查看軟件包狀態。 –
@Lahiru嗨,感謝您的回覆..我試了ss spring_tx命令,結果表示它是「ACTIVE」.. –