我们的项目是集成两个应用程序,使用每个应用程序的restapi,使用JMS(提供异步特性)和springbatch从JMS队列中读取批量数据并处理它,然后将其发布到接收应用程序。我是JMS和SpringBatch的新手。我有几个基本问题要问:采用哪种JMS模型-(PTP或Pub/Sub)能否从JMS队列中批量读取消息(使用JMSItemReader)。如果是,任何人都可以提供代码。我们希望在消息成功发布(即读取-处理-写入)到接收应用程序后确认消息为“已读”,而不是在JMSItemReader读取消息时。我们怎样才能做到这一点?高级设计图如下 最佳答案
我们使用IBMMQ以请求/回复方式与第三方通信。我们向他们发送请求,他们给我们答复。目前我们都有一个简单的基于Java的nativeIBMMQ应用程序。我们计划使用springjms重写我们的代码。但是当使用springjms时,我们在给定时间内没有得到任何响应。我们正在使用JMSTemplate发送或接收消息。我正在分享我的代码片段。我在这里做错了什么吗?我应该在这里设置任何其他属性吗?//RequestPart(wearesendingrequest)Stringrequest//thisistherequeststringbyte[]reqData=request.getByte
我不认为我会在这里结束,但经过大量的谷歌和StackOverflow搜索,我来到了这里。Thisismyexactproblem除了我无力更改代码。我尝试部署的WAR包括一个JMS库(即javax.jms,我不能从WAR中排除它。)默认情况下它已经由JbossEAP7加载。jar的路径是这样的jboss/modules/system/layers/base/javax/jms/api/ain/jboss-jms-api_2.0_spec-1.0.0.Final-redhat-1.jar。由于加载相同类的这两个不同版本,我得到了ClassCastException。org.apache.
我们目前正在编写一个应用程序,IT部门已经为其购买了硬件。他们的方法是购买我们将在其上部署的大型硬件。为了增加处理能力,他们计划增加具有相同软件的额外服务器。为了适应这种设计,我们使用Terracotta来提供运行多个JVM的能力,就像它是一个大的JVM一样。不管这是否是一个明智的做法(我仍然不相信),这就是我正在处理的情况。无论如何,我们有一部分应用程序使用标准的生产者/消费者类型队列。使用Terracotta,我们能够创建与多个JVM一起工作的单个队列。这非常巧妙,而且效果很好。但是现在,我们正在寻找运行异步进程的更多机会。为了使我们所有的排队逻辑更加一致,我们正在考虑使用JMS来
问题应该如何配置ActiveMQ和在MuleESB3.2,以确保从队列中提取的消息最终由外部正确处理CXFservice?场景我有一个CXF端点,它应该尽快接收传入消息并将其传输到三个外部服务。我们称它们为EX1、EX2、EX3。这很容易,多亏了Mule3.x中引入的组件。对整个解决方案最重要的要求,是确保每条收到的消息最终都被传送到所有三个CXF服务。所以我们最终想到了将每条传入消息放入PersistentJMSqueues中(Q1、Q2、Q3)。从队列Qn中读取消息后,它会直接传输到相应的EXn端点,即外部服务。配置(我可以根据要求提供完整的配置)我们已经按照描述配置了Active
JMS队列有符号吗?我知道例如数据库、文件、类应该以相同的方式绘制,但是JMS元素呢? 最佳答案 有一本名为“EnterpriseIntegrationPatterns”的好书,它有一个很好的消息系统视觉语言和符号,这里是他们用于队列的图表的链接http://www.eaipatterns.com/MessageChannel.htmlhttp://www.eaipatterns.com/downloads.html有一个用于Visio的模板,其中包含书中的所有形状。 关于java-JM
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我想知道JavaWeb套接字和JMS(或ActiveMq)之间有什么区别?请让我知道或有任何来源对WebSocket和JMS进行任何比较,以及在哪里使用websocket而不是以及在哪里使用Activemq而不是websocket。Activemq是JMS的一种实现。Activemq可能使用Web套接字。如果使用web套接字而不是Activemq来传输消息(具有任何类型的数据)怎么办?这可能取决于应用程序
我正在使用一个@JmsListener注释方法来监听JMS消息,如下所示。@JmsListener(destination="exampleQueue")publicvoidfetch(@PayloadStringmessage){process(message);}当这个方法执行导致异常时,我得到一个警告日志ExecutionofJMSmessagelistenerfailed,andnoErrorHandlerhasbeenset.如何设置ErrorHandler来处理这种情况。我正在使用springboot1.3.3.RELEASE 最佳答案
我的场景是——我将消息发布到队列中,一旦消息被使用,我就会将它发送到第三方中间件应用程序。如果该中间件应用程序已关闭,那么我发布的消息就没有用了。如果中间件应用程序关闭,我不想丢失该消息,而是希望它暂停或在队列中等待。请建议如何处理这种情况? 最佳答案 你应该像这样创建session:Sessionsession=connection.createSession(false,Session.CLIENT_ACKNOWLEDGE);当您尝试将消息传递给您的第三方应用时:如果有效,您应该确认消息。如果它已关闭,您不应该确认它,这样J
这里有谁知道是否存在可以在Tomcat上或没有应用程序服务器的情况下执行的JMS服务器? 最佳答案 是的,几个。HornetQ(推荐)ActiveMQ(我不推荐,但很受欢迎)和其他几个,但那些都是大的。 关于java-是否可以在没有应用程序服务器的情况下使用JMS服务器?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1803019/