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

使用Camel+ActiveMQ Artemis的大型消息

席兴平
2023-03-14

我试图在Artemis队列上发布一条大消息(包含+210K字符的JSON格式),该队列通过endpointRest和CAMEL。

当我用ActiveMQ Connection Factoryorg.apache.ActiveMQ.ActiveMQConnectionFactory-version:5.15.6)添加一个Camel组件时,我可以成功地发布消息。

但是当我使用Artemis连接工厂(org.apache.activeMQ.Artemis.jms.client.activeMQConnectionFactory-version:2.6.2)时,整个消息并没有发送到队列中。消息被切断,只保留了106725个字符。

我在其中创建了示例:https://github.com/vitorvr/camel-amq

谢了。

共有1个答案

胡厉刚
2023-03-14

您应该查看这个Artemis文档页面,了解Artemis中的大型消息支持。

有一个属性minlargeMessageSize,默认为100 kB(大致是您提到的剩余消息大小)。该设置意味着Artemis将所有超过100 kB的消息视为大消息,因此以不同的方式处理它们。

 类似资料:
  • 当通过JMS连接到ActiveMQ Artemis时,我正在与一个基于Apache Camel的应用程序中的一个问题作斗争。在其中一个Camel路由的末尾,消息存储在Artemis JMS队列中。在同一应用程序中运行的遗留组件使用定期从那里提取它们。 这对带有纯文本体的骆驼消息很好,但在使用字节数组体时会导致错误:Artemis似乎将任何带有字节体的消息视为“大消息”,这些消息是流式传输的,而不是

  • 我正在使用spring Kafka来使用LinkedIn支持大型消息的Kafka客户端生成的消息 假设此Kafka客户端总是将重写为none(如其构造函数所示)。 因此,一旦我开始使用批处理提交并将设置为false,它将抛出以下错误: 发生此问题是因为这是此使用者组第一次使用来自此主题的消息,因此它尝试使用偏移量重置策略。 虽然我将其设置为“最早”,但LinkedIn kafka客户端将其覆盖为“

  • 如标题所述,我想使用RabbitMQ向Websocket发送消息。使用AngularJS前端,我想从Websocket读取RabbitMQ消息,并将它们打印到控制台。原则上,我的代码似乎是可行的,尽管我不知道如何获得消息的实际(字符串)内容? 后端:为了创建Websocket并执行路由,我使用Spring Boot和Apache Camel:http://camel.Apache.org/Spri

  • 我正在尝试使用camel使用restful Web服务。 为此,我正在配置动态endpointurl,因为RESTful url是在运行时创建的。每次我都会使用CamelContext类的以下方法检查特定endpointurl是否在我的CamelContext中注册为路由。 endpoint有Endpoint(String uri); 在这种情况下,如果未注册终结点,则使用自定义路由生成器将路由添

  • 我们的环境由3个jboss服务器组成(门户、jms、协调)。 协调服务器托管骆驼路由,该路由具有消耗自队列(SLAQueue)的路由 JMS服务器托管了我们的所有队列 最近,我们发现了一个错误,即托管在JMS服务器上的TaskQueue中的一些消息没有传递到门户服务器上的MDB。由于某些原因,它们被卡住了,当我们重新启动JMS服务器时,卡住的消息被传递 为了进行调查,我们在“org.apache.

  • 我是activeMQ的新手,在将消息从驻留在另一台服务器上的消息生成器推送到activeMQ定义的队列时遇到问题。 我在activeMQ上使用camel routes创建的应用程序中有几个队列。我尝试从另一台服务器上的应用程序对这些队列执行远程JNDI查找。我使用了来自http://activemq.apache.org/jndi-support.html页面的activemq文档片段。 我可以连

  • 我需要使用驼峰路由浏览来自活动mq的消息,而不使用这些消息。 JMS队列中的消息将被读取(仅浏览而不使用)并移动到数据库中,同时确保原始队列保持完整。 公共静态无效检查ReceivedOrders(){ }

  • 我能够使用ApacheKafka提交偏移量类,并能够使用ConsumerConnector进行提交。我查看了apache camel kafka组件,该组件的使用者选项与“auto.commit.enable”属性相同。现在,Camel Java DSL中是否有任何属性或方法,在使用消息后,我们可以手动提交偏移量(通过URL中提供的方法或消费者选项),或者我们必须再次使用Kafka消费者API提交