当前位置: 首页 > 知识库问答 >
问题:

如何为基于SOAP/JMS的Web服务设置MQ响应消息上的JMSexpirationTime?

梁祯
2023-03-14

我们有一个运行在Websphere 8.5.5上的基于SOAP over JMS的web服务。web服务接收MQ请求消息,处理请求并发回响应。一切都好。

现在,我们需要在MQ响应消息上设置JMSExpirationTime,以便如果调用应用程序没有在“指定时间”从队列中读取响应,那么消息应该过期,并且不应该永远留在队列中。

Web服务是基于JAX-RPC的SOAP over JMS。我们的SOAP Listsner MDB是JMSListenerMDB(com.ibm.ws.html" target="_blank">webservices.engine.transport.jms.JMSListenerMDB)的扩展,如果“在MQ请求消息上设置相同,否则设置为0(永久)”,则该MDB会自行设置到期时间。

我们如何在MQ响应消息上设置JMSexpirationTime,因为消息是由IBMAPI准备的。

共有1个答案

姜建德
2023-03-14

枚举器 MDB 负责接收消息。还必须有一个消息创建者和发送回复的目标。如果目标是托管对象,则可以在此处设置“到期”字段。您还可以在实例化对象后在应用程序中动态设置它。请参阅 MQ 知识中心中有关到期的页面。

如果应用动态创建目标(例如,从传入消息的 ReplyTo 字段创建),则通常基于每条消息设置过期时间。为此,请调用消息创建者的 setTimeToLive 方法,MQ 消息生成器的知识中心文档中所述。

 类似资料:
  • 我有一个CXF webservice,它支持基于JMS的SOAP,在这里我使用ActiveMQ作为消息代理系统。soap消息被发送到请求队列,soap响应被发送回回复队列。现在我计划用ActiveMQ替换RabbitMQ。但我面临的问题是RabbitMQ没有实现JMS API。我们可以将RabbitMQ用于SOAP/JMS Web服务吗? 注意:我使用的是org。阿帕奇。cxf。运输jms。JMS

  • 我正在编写一个netty TCP服务器,它必须根据请求中的值对响应进行编码,例如返回pro buf或JSON。建议的实现方法是什么? 我们的服务器有一个带有解码器、编码器和处理程序的管道。 我考虑使用解码器将正确的编码器添加到管道中,如下所示 这似乎有效,但是否正确?ChannelHandler文档使我想到了这个设计。 可以随时添加或删除通道处理器,因为通道管道是线程安全的。例如,可以在将要交换敏

  • 我有一个要求,其中,作为Web服务[Java]的一部分,我将作业的详细信息输入数据库,数据库由Windows服务[C#]异步处理,并对Javaweb服务通知作业的状态。 情景: 客户端对JavaWeb服务进行同步Restful调用。 JavaWeb Service将作业详细信息输入数据库(类似于进行异步调用),并等待Windows Service的响应(这是对JavaWeb Service的新HT

  • 在HttpServletResponse接口中定义了若干设置HTTP响应消息头的方法,如addHeader方法可以添加响应消息头字段;addIntHeader方法可以添加整数值的响应消息头字段;setContextType方法可以设置Context-Type字段值。 HTTP响应消息头是由若干key-value对组成的,其中key表示字段名,value表示字段值,中间用冒号(:)分隔。如下面的内容

  • 有人知道netty服务器处理程序取消从web服务器接收数据的最佳方法吗?我有一个服务器处理程序,它将HttpRequests代理到web服务器。但是,当请求客户端取消请求时,我希望在不关闭服务器处理程序和web服务器之间的连接的情况下停止从web服务器接收服务器通道上的数据。 有谁知道我怎么才能做到这一点。你的答复将不胜感激。 非常感谢。

  • 我们最近将应用程序从 Weblogic 迁移到了 JBOSS Fuse。作为此迁移的一部分,我们还必须将 JMS 实现更改为 Active MQ。由于某些约束,将请求发送到旧 Weblogic JMS 队列的客户端将无法进行更改以将请求发送到新的活动 MQ。有没有办法保持客户端不变(仅更改主机和端口以指向新服务器)并接收发送到Weblogic JMS队列的消息(当然没有weblogic服务器)并将