草庐IT

消息键

全部标签

java - session 事务消费者或生产者中的消息代理异常处理

我想使用SAGA我的SpringBoot微服务中的模式。例如,在客户订单中,当订单创建时,会产生一个类似OrderCreatedEvent的事件,然后在客户微服务中OrderCreatedEvent上的监听器更新客户信用并产生CreditUpdateEvent和...。我使用session事务处理JmsTemplate来生成事件。在JmsTemplate的javadoc中表示JMS事务在主事务之后提交:ThishastheeffectofalocalJMStransactionbeingmanagedalongsidethemaintransaction(whichmightbeana

java - WebSphere MQ 中的消息组

我有一个要求,我需要以一种方式处理JMS消息(通过MDB),即属于某个组(设置了组ID)的消息由同一个bean实例使用。我在此要求的行为是按顺序处理具有相同组ID的消息(尽管消息顺序无关紧要),并将它们绑定(bind)到相同的MDB实例应该提供这一点。消息不携带任何类型的序列号(因为它是无关紧要的)并且我们不知道组中的第一条或最后一条消息是什么(理论上“永远不会”是组中的最后一条消息)。我们希望它们在消费者能够收到它们时尽快交付。ActiveMQ只需设置JMSXGroupID即可提供此确切功能(http://activemq.apache.org/message-groups.html

java - 在 Java 中寻找简单的持久消息缓冲区

我正在寻找一个简单的持久缓冲区作为Java应用程序中JSON消息的临时存储。内存使用量应该相对恒定,而不取决于缓冲区中的消息数量。如果能够重播过去某个时间点的消息,那就太好了。删除旧消息应该是有效的。需要能够处理1m消息/小时。目前,我的应用程序使用本地RabbitMQ代理将消息铲到远程RabbitMQ代理。当远程代理关闭或不接受消息时,本地RabbitMQ代理的内存使用量随着队列长度的增加而增加,最终它停止接受消息。我想将其换成基于本地磁盘的缓冲区和一个将消息复制到远程RabbitMQ代理的线程。有人有什么想法吗?我看过Kafka,但它对我的用例来说似乎有点矫枉过正。MongoDB是

java - 如何强制 AmazonSQSBufferedAsyncClient 刷新消息?

我正在使用适用于Java的AWS开发工具包,并且正在使用缓冲异步sqs客户端来批处理请求,以便降低成本。当我的应用程序关闭时,我想确保没有消息在缓冲区中等待,但是我在客户端上看不到.flush()方法。调用时AmazonSQSBufferedAsyncClient.shutdown()是否刷新我的消息?我看着sourcecode目前还不清楚。该方法在它拥有的每个QueueBuffer上调用shutdown(),但在QueueBuffer.shutdown()中它说publicvoidshutdown(){//sendbufferdoesnotrequireshutdown,only//

java - 保证将多条消息传递到 Kafka 集群

如果我连续向Kafka集群发布多条消息(使用newProducerAPI),我会从生产者那里为每条消息获得一个Future。现在,假设我已将生产者配置为max.in.flight.requests.per.connection=1和retries>0我可以等待最后一个future并确定所有以前的也已经交付(并按顺序)?还是我需要等待所有future?在代码中,我可以这样做吗:Producerproducer=newKafkaProducer(myConfig);Futuref=null;for(MessageTypemessage:messages){f=producer.send(n

Java 小程序和 Firefox 无响应错误消息

我有一个JavaApplet。在IE上,它工作正常,在Firefox上,Firefox经常给出一个对话框,说“插件没有响应/挂起。你想继续等待它还是杀死它?”。为了排除故障,了解firefox如何检测到插件无响应会很有用-Firefox是否在任何地方发布了此信息?我找到了这个页面-https://developer.mozilla.org/en-US/Add-ons/Plugins/Out_of_process_plugins/The_plugin_hang_detector然而,这谈论的是终止插件并且不给出此错误消息。 最佳答案

java - 自动 IllegalArgumentException 消息?

我总是检查公共(public)函数的参数,并在出现问题时抛出异常。(对于私有(private)助手,我使用断言)。像这样:if(a=b)thrownewIllegalArgumentException("'a'mustbegreaterorequalto0andsmallerthanb");但是写这些错误信息总是让我很烦。该消息对我来说似乎是多余的,因为该消息只是对声明的否定a=b.也经常发生我用重构重命名变量(在eclipse中),然后消息不反射(reflect)更改。或者我更改了条件而忘记更改消息。如果我能写这样的东西就好了:assertArgument(a>=0&&a这应该会引发

java - JMS 队列接收消息?

在JMSAPI文档中,它说:publicMessagereceive()throwsJMSExceptionReceivesthenextmessageproducedforthismessageconsumer.Thiscallblocksindefinitelyuntilamessageisproducedoruntilthismessageconsumerisclosed.Ifthisreceiveisdonewithinatransaction,theconsumerretainsthemessageuntilthetransactioncommits.这里我有三个问题:1.在

java - Akka的事件总线是否保证消息顺序?

我想保持事件进入总线的顺序。例如,如果event1然后event2进入总线,那么订阅的actor将按该顺序获取它们。问题是在集群和单节点actor系统上是否可以保证这样的顺序。 最佳答案 如果您在actor系统(system.eventStream)上使用事件流,并且您可以保证单个线程正在发布,那么是的,顺序将被保留。事件总线的子channel分类风格(与system.eventStream相关的那种)非常简单。有一个基本类类型的Map到订阅参与者列表。发布事件时,它会从Map(如果有)中获取匹配的订阅者列表,然后将消息发送给每个订

java - 如何使用 Eclipse Paho 在 Java MQTT 客户端上接收消息时发布消息

我正在尝试使用EclipsePaho在Java中的MQTT客户端上实现一些功能。目标是订阅一个主题,当收到消息时,客户端发送另一个主题的另一条消息。这看起来很简单,但我有一个我无法解决的奇怪问题。这是我的代码:importorg.eclipse.paho.client.mqttv3.IMqttDeliveryToken;importorg.eclipse.paho.client.mqttv3.IMqttToken;importorg.eclipse.paho.client.mqttv3.MqttCallback;importorg.eclipse.paho.client.mqttv3.