作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如何让 DefaultMessageListenerContainer 控制交易……据我所知,我只需要向 DMLC 提供 sessionTransacted 属性。我的目标是将消息放回队列,如果发生某些错误...
找了好久都没找到...
我的 Spring-config(其中一部分):
<bean id="abstractMessageListenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer" abstract="true">
<property name="connectionFactory" ref="connectionFactory" />
<property name="maxConcurrentConsumers" value="5"/>
<property name="receiveTimeout" value="10000" />
</bean>
<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer" parent="abstractMessageListenerContainer">
<property name="destinationName" value="MY.QUEUE" />
<property name="messageListener" ref="myMessageListener" />
<property name="sessionTransacted" value="true" />
</bean>
<bean id="myMessageListener" class="my.package.structure.ListenerClass"></bean>
我的监听类:
public class ListenerClass implements MessageListener {
public void onMessage(Message msg) {
}
}
是否只是通过抛出一个未经检查的异常(如 java.lang.IllegalStateException)?
最佳答案
如果抛出未经检查的异常,消息将回滚!无法抛出已检查的异常,因为它们没有在 MessageListener 接口(interface)的 onMessage 方法的方法签名中提及。
关于java - DefaultMessageListenerContainer,让 sessionTransacted 属性工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13008431/
我在 Python 和 SQLAlchemy 方面很新,所以基本上我从: session = Session() session.query(SOMETHING_HERE).filter() 到 se
如何让 DefaultMessageListenerContainer 控制交易……据我所知,我只需要向 DMLC 提供 sessionTransacted 属性。我的目标是将消息放回队列,如果发生某
使用 sessionTransacted=true (在 JmsTemplate 和/或 DefaultMessageListenerContainer 中)和使用 JmsTransactionMan
我是一名优秀的程序员,十分优秀!