1

Spring データソースを使用していますが、Oracle AQ Queue に接続できません。

Connection connection = null;
                    AQSession aqSess = null;

                    connection = ds.getConnection();
                    connection.setAutoCommit(false);

                    DataSourceUtils.getTargetConnection(connection);
                    Class.forName("oracle.AQ.AQOracleDriver");

                    aqSess = AQDriverManager.createAQSession(connection);
                    aqSession = aqSess;

しかし、それでもこれを取得してくださいoracle.jms.AQjmsException: JMS-112: Connection is invalid。ヒントをいただければ幸いです。

<bean id="myId" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
      <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
      <property name="url" value="jdbc:oracle:thin:@myIpAddress:dev"/>
      <property name="username" value="user"/>
      <property name="password" value="pass"/>
      <property name="removeAbandoned" value="true"/>
      <property name="initialSize" value="2"/>
      <property name="maxIdle" value="8"/>
      <property name="maxActive" value="30"/>
      <property name="maxWait" value="60000"/>
    </bean>


AQException: oracle.AQ.AQException: JMS-112: Connection is invalid
at oracle.AQ.AQDriverManager.createAQSession(AQDriverManager.java:193)
4

2 に答える 2

0

次のコードを使用して問題を修正しました。

OracleConnection oracleConnection = connection.unwrap(OracleConnection.class);

同様の問題が発生したときに他の人がこの質問を見つけた場合に備えて、回答としてここに記録してください。

于 2015-02-26T12:52:40.153 に答える