Мы используем поддержку Oracle AQ из весенних данных, чтобы иметь JMS и JDBC на одном источнике данных с локальными транзакциями вместо XA. Общая картина нашей установки в основном описана в справочном руководстве: на orcl: aq-jms-connection-factory: use-local-data-source-transaction = "true" и native-jdbc-extractor = " oracleNativeJdbcExtractor " HibernateTransactionManager (теперь я пытаюсь использовать один источник данных (базовый источник данных DBCP2) для AQ и Hibernate). Я использую компонент JMS верблюда (с использованием диспетчера транзакций hibernate и фабрики подключений с весны) для операций JMS. Все работает, но через пару минут мы получаем указания, что пул соединений JDBC исчерпан, и все застряло. На мониторе пула соединений JDBC мы могли видеть, что все соединения, в которых они используются: что-то явно пропускает соединения. через несколько минут исчерпал бассейн. же пост здесь: https://jira.spring.io/browse/DATAJDBC-8Ошибка утечки JDBC в пуле JDBC при использовании AQ
We are using:
DBCP2 Basic datasource,
Hibernate 4,
Spring 4 Hibernate Transaction Manager,
Spring Data Oracle Aq,
JBOSS 6 EAP container.
<orcl:aq-jms-connection-factory id="connectionFactory"
use-local-data-source-transaction="true"
native-jdbc-extractor="dbcpNativeJdbcExtractor" 1
data-source="dataSource" />
<bean id="dbcpNativeJdbcExtractor"
class="org.springframework.jdbc.support.nativejdbc. OracleJdbc4NativeJdbcExtractor"/>
<bean id="dbcpDataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="transacted" value="true"/>
<property name="transactionManager" ref="txManager"/>
</bean>
Any ideas? Thank you.
У вас есть какой-либо пример исходного кода? – ibre5041
только что добавил исходный код. Благодарю. – integrationarchitect