Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在处理来自JMS的下一条消息之前,Service Activator未完成

在处理来自JMS的下一条消息之前,Service Activator未完成
EN

Stack Overflow用户
提问于 2015-06-04 13:44:45
回答 1查看 76关注 0票数 0

设置:

我正在使用Spring Integration从消息队列中抓取消息。消息以XML格式出现,我的服务激活器调用一个名为parseCustPaymentXML的方法,处理该XML消息,并将其存储在Java对象中。然后,从parseCustPaymentXML调用另一个名为processCustPayment的方法,该方法获取Java对象并将它们插入到数据库中。下面是我如何设置我的入站JMS和服务激活器...

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<int:channel id="jmsInChannel" />

<int-jms:message-driven-channel-adapter
        destination="custPaymentRequestDestination"
        connection-factory="jmsConnectionFactory"
        channel="jmsInChannel"
        concurrent-consumers="1" />

<int:service-activator id="parseCustPaymentServiceActivator"
                       ref="custPaymentService"
                       input-channel="jmsInChannel"
                       method="parseCustPaymentXML"
                       requires-reply="true" />

问题是:

该进程不会花费很长时间来运行,但如果在parseCustPaymentXML或processCustPayment仍在运行时收到一条消息,则会拉出该消息,并与第一个消息进程并发地踢开parseCustPaymentXML。这不是我喜欢的行为。我希望第一条消息在下一条消息开始(非并发)之前完全完成。

如果需要更多的帮助信息,请告诉我。

EN

回答 1

Stack Overflow用户

发布于 2015-06-04 15:39:43

当并发消费者=“1”时,一次只处理一条消息;请确保您没有两次声明入站适配器?这是一个常见的错误--尤其是在web应用程序中。

打开调试日志,一切都会变得清晰

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30645483

复制
相关文章
剖析1条JMS消息
前言 一个JMS消息分为: 1.消息头 2.属性 3.消息体(有效负载) 1.消息头 1.1 系统默认分配的消息头 a. JMSDestination :Topic 和Queue用此属性标识目的地,二者都是Destination类型。             javax.jms.Message接口有对应的getJMSDestination()方法。 b.JMSDeliveryMode:传送模式:             持久化 : javax.jms.DeliveryMode.PERSISTENT     
温安适
2018/05/17
1.6K0
SQL Service Broker External Activator
在许多情况下,消息一到达队列就对它们进行处理,这种做法是合适的。在Service Broker应用程序中,你可以指定一个存储过程或者外部应用程序,只要有消息到达一个队列,就立即执行它。在某种程度上,它就像队列中的异步触发器。 从SQL Server 2005 开始Service Broker就支持internal activation,也就是当消息队列有消息到达的时候可以通过调用存储过程。SQL Server 2008开始支持External Activation,也就是在消息到达消息队列的时候,消息可以通
张善友
2018/01/30
7060
Java消息队列--JMS概述
1、什么是JMS  JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持(百度百科给出的概述)。我们可以简单的理解:两个应用程序之间需要进行通信,我们使用一个JMS服务,进行中间的转发,通过JMS 的使用,我们可以解除两个程序之间的耦合。 2、JMS的优势   Asynch
九灵
2018/03/09
2.2K0
Java消息队列--JMS概述
Spring消息之JMS.
 一、概念 异步消息简介     与远程调用机制以及REST接口类似,异步消息也是用于应用程序之间通信的。     RMI、Hessian、Burlap、HTTP invoker和Web服务在应用程序
JMCui
2018/06/01
1K0
ActiveMQ详解(3)——JMS消息的高级特性
ActiveMQ详解(3)——JMS消息的高级特性 一. 消息的签收(确认) JMS消息只有被确认后,才认为已经被成功地消费了。消息的成功消费通常包括三个阶段:客户端接收消息、消费者处理消息,和消息被确认。 在事务性会话中,当一个事务被提交的时候,消息签收自动执行。在非事务性会话中,消息何时被签收取决于创建会话时指定的消息签收模式。消息有一下三种签收模式: Session.AUTO_ACKNOWLEDGE:当消费者成功从receive()方法返回时,或从MessageListener.onMessag
张申傲
2020/09/03
6590
来自 Jenkins 官方的消息
Jenkins 作为 CI/CD 领域里非常有实力和生命力的平台,不但在国外有很多用户,在国内也有很多的拥趸者。大家拥抱 Jenkins,不仅仅因为它是新的方向,更因为这背后有着一个非常开放、活跃的开源社区。
LinuxSuRen
2019/04/19
7330
来自 Jenkins 官方的消息
企业级消息代理JMS和AMQP
  异步消息的主要目的是解决跨系统的通信。所谓异步消息,即消息发送者无需等待消息接收者的处理及返回,甚至无需关心消息是否发送与接收成功。在异步消息中有两个极其重要的概念,即消息代理和目的地。当消息发送者发送消息后,消息将由消息代理管理,消息代理保证消息传递到目的地。   异步消息的目的地主要有两种形式,即队列和主题。
别团等shy哥发育
2023/02/25
8720
企业级消息代理JMS和AMQP
【EJB学习笔记】——JMS和消息驱动Bean
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/50996458
DannyHoo
2018/09/13
6320
【EJB学习笔记】——JMS和消息驱动Bean
消息中间件之JMS实践(ActiveMQ)
JMS(Java Message Service):java平台中面向消息通信的API
烂猪皮
2018/08/03
6160
消息中间件之JMS实践(ActiveMQ)
SpringBoot消息源码解析:JMS基础自动配置
Spring框架对消息系统的整合提供了广泛的支持:从简单使用 Jms Template 的 JMS API,到可接收异步消息的完整基础结构。Spring AMQP 为“高级消息队列协议”提供了类似的功能集。
愿天堂没有BUG
2022/10/28
1.5K0
SpringBoot消息源码解析:JMS基础自动配置
JMS消息中间件之ActiveMQ学习
本文介绍了在Java中如何使用ActiveMQ进行消息发布和订阅。主要包括了创建生产者、创建消费者、发布和订阅消息等步骤。同时,还介绍了如何通过代码进行消息的发布和订阅。
用户1141560
2017/12/26
9230
JMS消息中间件之ActiveMQ学习
Spring Kafka:@KafkaListener 单条或批量处理消息
来源:csdn.net/ldw201510803006/article/details/116176711 消息监听容器 1、KafkaMessageListenerContainer 由spring提供用于监听以及拉取消息,并将这些消息按指定格式转换后交给由@KafkaListener注解的方法处理,相当于一个消费者; 看看其整体代码结构: 图片 可以发现其入口方法为doStart(), 往上追溯到实现了SmartLifecycle接口,很明显,由spring管理其start和stop操作; Liste
程序猿DD
2022/05/05
2.3K0
Spring Kafka:@KafkaListener 单条或批量处理消息
在QT中处理windows消息
http://blog.csdn.net/sryan/article/details/6744070
bear_fish
2018/09/20
2.6K0
在QT中处理windows消息
Java消息中间件的概述与JMS规范
在很久很久以前,小明隔壁有个姓王的邻居,姑且就叫隔壁老王吧。隔壁老王有个大女儿,名叫王兰花秀丽,秀丽从小就爱听老王讲睡前故事,每晚在入睡前都要老王讲了睡前故事才能睡的得着。但某一天秀丽到了外地去上大学,老王为了能给秀丽讲故事,只能通过打电话的方式进行,如下:
端碗吹水
2022/01/12
6570
Java消息中间件的概述与JMS规范
Java消息服务-JMS 确认和事务【面试+工作】
保证消息传送有3个主要部分:消息自主性,存储并转发以及底层消息确认,下面具体看一下这些概念;
Java帮帮
2018/10/24
9420
Java消息服务-JMS 确认和事务【面试+工作】
干货--JMS(java消息服务)整合Spring项目案例
Sprng-jms消息服务小项目 所需的包: spring的基础包 spring-jms-xx包 spring-message–xx包 commons-collection-xx包 commons-pool2-xx包 aop切面的包: spring-aop,spring-aspect,aopalliance,aspectjrt.jar,aspectjweaver.jar 配置: 1.配置ConnectionFactory 2.
汤高
2018/01/11
1.8K0
干货--JMS(java消息服务)整合Spring项目案例
Spring Kafka 之 @KafkaListener 单条或批量处理消息
来源:https://blog.csdn.net/ldw201510803006/article/details/116176711 消息监听容器 1、KafkaMessageListenerContainer 由spring提供用于监听以及拉取消息,并将这些消息按指定格式转换后交给由@KafkaListener注解的方法处理,相当于一个消费者; 看看其整体代码结构: 可以发现其入口方法为doStart(), 往上追溯到实现了SmartLifecycle接口,很明显,由spring管理其start和sto
程序猿DD
2022/06/09
9990
Spring Kafka 之 @KafkaListener 单条或批量处理消息
在自动化测试工作之前,你应该知道的10条建议
关于自动化测试,这些年经历了太多的坑,有被动的坑,也有自己主动挖的坑,在这里做了一些总结。
苦叶子
2019/05/30
5040
分布式通信的几种方式(EJB、RMI、RPC、JMS、web service杂谈)
http://blog.csdn.net/jiaolong724/article/details/21089347 RPC(remote produce call) RPC是远程过程调用协议,它是基于C/S模型调用的机制,客户机向服务器端发送调用请求等待服务器应答,是一种典型的请求应答机制,大致过程可以理解为本地分布式对象向本机发请求,不用自己编写底层通信本机会通过网络向服务器发送请求,服务器对象接受参数后,经过处理再把处理后的结果发送回客户端。 它是早期的支持分布式一些,缺点rpc是面向过程的远程调用
Albert陈凯
2018/04/04
2.2K0
保证MQ消息传递的一致性
1.保证消息传递与一致性 1.1生产者确保消息自主性 当生产者发送一条消息时,它必须完成他的所有业务操作。 如下图: 这保证消费者接受到消息时,生产者已处理完毕相关业务,也就是1PC的基础。 1.2
温安适
2018/05/17
2.5K0

相似问题

在处理当前消息之前,不要阅读下一条卡夫卡消息?

10

在Akka中处理下一条消息之前等待异步Future调用

41

在JMS中一次处理来自IBM的消息

22

未调用Service Activator

124

是否在下一条语句之前未完成jQuery追加?

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文