1
私のような春のウサギの消費者を持っています。私はそれをチェックし、私は3つのテーブルにデータを保存し、例外をスローしてから4番目のテーブルに保存します。また、3つのpreviosテーブルのデータはロールバックされません。どのように春にそれを正しく行うには? onMessageメソッド内のすべてのコードをトランザクション内に置いておきたい。おかげ春ウサギと春の取引は
がUPDATE 私のウサギのconf:あなたのトランザクションマネージャが正しくお使いのデータベースに設定されている場合は
@Configuration @ComponentScan(basePackages = {"com.mycompany"})
public class TicketModeRabbit {
@Bean TicketModeConsumer ticketModeConsumer() {
return new TicketModeConsumer();
}
@Bean(name = TicketModeRabbitData.QUEUE_BEAN_NAME) Queue queue() {
return new Queue(TicketModeRabbitData.QUEUE_BEAN_NAME);
}
@Bean(name = TicketModeRabbitData.QUEUE_BINDING_NAME) Binding binding(
@Qualifier(TicketModeRabbitData.QUEUE_BEAN_NAME) Queue q, TopicExchange e) {
return BindingBuilder.bind(q).to(e).with(TicketModeRabbitData.QUEUE_TOKEN_NAME);
}
@Bean(name = TicketModeRabbitData.CONTAINER_NAME)
SimpleMessageListenerContainer container(ConnectionFactory connectionFactory,
@Qualifier(TicketModeRabbitData.LISTENER_ADAPTED_NAME)
MessageListenerAdapter listenerAdapter) {
return WorkerConfigHelper
.rabbitConfigListenerContainer(connectionFactory, listenerAdapter,
TicketModeRabbitData.QUEUE_BEAN_NAME,
WorkerConfigHelper.GLOBAL_CONCURRENT_CONSUMERS);
}
@Bean(name = TicketModeRabbitData.LISTENER_ADAPTED_NAME)
MessageListenerAdapter listenerAdapter() {
return new MessageListenerAdapter(ticketModeConsumer());
}
}
ありがとうございますが、ウサギの消費者向けに春のサポートを設定する方法はありますか? Thanks – avalon
ListenerContainerでMessageListenerをどのようにセットアップしましたか?あなたの春の設定を追加できますか? –
ありがとう、私はちょうど私のinitilalポストにそれを追加しました。 – avalon