Spring jdbcTemplate 卡在 Executing prepared SQL query

问题描述 投票:0回答:0

我对 spring jdbcTemplate 有疑问。它曾经工作正常但现在它不返回任何值,也没有错误消息它卡住说“DEBUG | [main] | org.springframework.jdbc.core.JdbcTemplate:query(711) | Executing prepared SQL query”,我尝试使用 namedParameterJDBCTemplate 和 JDBCTemplate

请在下面找到我的 hikari 配置:

<bean id="configPropertyPlaceholderConfigurer" class="com.msci.dm.configuration.client.ConfigPropertyPlaceHolderConfigurer" />     <bean id="gedHikariConfig" class="com.zaxxer.hikari.HikariConfig">         <property name="connectionTestQuery" value="select 1 from dual" />         <property name="driverClassName" value="oracle.jdbc.OracleDriver" />         <property name="jdbcUrl" value="jdbc:oracle:thin:@${some_db_name}" />         <property name="username" value="${some_db_username}" />         <property name="password" value="${some_db_password}" />         <property name="maximumPoolSize" value="50"/>           <property name="minimumIdle" value="2" />               <property name="connectionTimeout" value="600000"/>           <property name="dataSourceProperties">             <props>         <prop key="v$session.program">some_program</prop>   </props>    </property>     </bean> </beans>

请在下面找到 JDBC 模板配置:

<bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">
  <property name="transactionManager">
    <ref bean="gedTransactionManager" />
  </property>
</bean>

<bean id="gedTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  <property name="dataSource">
    <ref bean="gedOracleDataSource" />
  </property>
</bean>

<bean id="oraJdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
  <constructor-arg index="0">
    <ref bean="gedOracleDataSource" />
  </constructor-arg>
  <property name="fetchSize" value="10000" />
  <property name="queryTimeout" value="300" />
</bean>

<bean id="gedNamedJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
  <constructor-arg index="0" ref="oraJdbcTemplate" />    
</bean>
  <bean id="gedOracleDataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
     <constructor-arg ref="gedHikariConfig" />
 </bean>
  <bean id="vdbOracleDatasource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
      <constructor-arg ref="vdbHikariConfig" />
  </bean>

我尝试了多种方法来解决这个问题,但无法解决。 另请注意,当我在本地运行它时,它可以正常工作,但是当应用程序在 UAT (Linux) 中运行时,它会卡住,当我在 SQL 中运行查询时,我得到了结果(查询的数据库中只有 4 个结果)。正在使用 ojdbc10。

请在下面找到日志:

2023-05-17 15:20:16,341 | DEBUG | [main] | org.springframework.jdbc.datasource.DataSourceUtils:doGetConnection(116) | Fetching JDBC Connection from DataSource 2023-05-17 15:20:17,344 | DEBUG | [main] | somePackage.someClass:someMethod(99) | [someMethod] deleteMakerQuery ::

            --some query---

2023-05-17 15:20:17,344 | DEBUG | [main] | somePackage.someClass:someMethod(100) | [someMethod] paramMap :: {someParms=134975, someParms=1, someParms=134975} 2023-05-17 15:20:17,344 | DEBUG | [main] | org.springframework.jdbc.core.JdbcTemplate:query(711) | Executing prepared SQL query

java spring oracle java-11 jdbctemplate
© www.soinside.com 2019 - 2024. All rights reserved.