簡體   English   中英

Tomcat 中的 JMS 連接問題

[英]JMS Connection problems in Tomcat

我正在嘗試將一個舊的、大型的、基於 Weblogic 的應用程序移植到 Tomcat。 該應用程序使用 Spring、EclipseLink 和 Oracle 數據庫。

有兩個不同的數據庫連接,兩者幾乎相同。 與 JSF 頁面的連接工作正常。 不幸的是,JMS (Oracle AQ) 沒有。 這是我得到的錯誤:

我的應用程序 | 17:17:34,177 錯誤 XmlMessageListenerContainer.refreshConnectionUntilSuccessful 無法刷新目標“SPFR_EVENT_Q”的 JMS 連接 - 使用 FixedBackOff{interval=5000,currentAttempts=4,maxAttempts=unlimited} 重試。 原因:創建 db_connection 時出錯; nested exception is java.lang.ClassCastException: com.sun.proxy.$Proxy51 cannot be cast to oracle.jdbc.internal.OracleConnection

這是相關的連接:

<Resource
   name="jdbc/myAQDS"
   auth="Container"
   type="javax.sql.DataSource"
   factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
   driverClassName="oracle.jdbc.OracleDriver"
   url="jdbc:oracle:thin:theurlhere"
   username="theuser"
   password="thepassword"
   maxTotal="150"
   maxIdle="10"
 />

任何想法是什么原因造成的? 我用谷歌搜索了具體的錯誤,結果完全空手而歸。

Have a look at the Spring documentation here: https://docs.spring.io/spring-data/jdbc/old-docs/2.0.0.M1/reference/html/orcl.streamsaq.html Specifically the section about the NativeJdbcExtractor因為有一個 OracleJdbc4NativeJdbcExtractor 可用。

具體來說,請記住 Oracle AQ 連接工廠需要原生 Oracle 連接 object。 但是,應用服務器很可能包裝了數據源連接 object。 因此,請嘗試使用 OracleJdbc4NativeJdbcExtractor 作為 JMS 連接工廠的 nativeJdbcExtractor,它將用於解包連接並保持 Oracle 庫滿意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM