Tag: oracle aq

如何在Spring Boot中实现Oracle AQ队列?

我已经了解了如何使用AQ(Streams?)包创建Oracle数据库。 我还在Oracle中创建了一些队列(手动)。 (使用PL / SQL和SQL)。 但是,我很难从Spring建立正确的连接。 以下工作(使用oracle.AQ java包): private final String aqUrl = “jdbc:oracle:thin:@localhost:1521:orcl”; private final String aqUser = “queue_mut”; private final String aqPassword = “******”; private final String aqSchema = “queue_mut”; private final String aqTable = “aq_table1”; private final String aqQueue = “aq_queue1”; @Test public void testManualAQ() throws ClassNotFoundException, SQLException, AQException { Class.forName(“oracle.jdbc.driver.OracleDriver”); Connection […]

使用TransactionManager使用Spring JmsTemplate编写消息

使用Spring-JMS,可以通过DefaultMessageListenerContainer在外部事务上下文中接收消息。 但是, 编写消息的唯一记录方法是通过JmsTemplate.send(…) ,我无法看到如何强制使用给定的TransactionManager 。 谁能指出我正确的方向? 更多信息:确保事务管理器可用( WebSphereUowTransactionManager ),对Oracle AQjmsFactory.getQueueConnectionFactory(dataSource)使用JmsTemplate.write导致: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is oracle.jms.AQjmsException: could not use local transaction commit in a global transaction at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316) at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168) at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469) at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:534) Caused by: oracle.jms.AQjmsException: could not use local transaction commit in a global transaction at oracle.jms.AQjmsSession.commitNoCheck(AQjmsSession.java:1053) at […]