- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在将 Artemis REST 功能集成到我的一个项目中时遇到了问题。更准确地说,一切都很好,直到我尝试使用队列中的消息。
我正在按照文档中提到的流程进行操作。 API 遵循 HATEOAS 原则,这意味着您基本上是通过 api 调用来实现的它返回指向 url 的超链接,这些 url 本身用于调用电话。
过程,包括
在第 3 点之前工作正常。
调用端点导致异常,提示要使用的消息类型不正确。这是堆栈跟踪:
Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: ClientMessage must be an HTTP message or an Object message: ClientMessage[messageID=105226700092, durable=true, address=jms.queue.DLQ,userID=560c0246-e52b-11e5-82d3-4b37ae7b5e66,properties=TypedProperties[__AMQ_CID=5475aad0-e52b-11e5-82d3-4b37ae7b5e66,_AMQ_ORIG_ADDRESS=jms.queue.ExpiryQueue,_AMQ_ORIG_MESSAGE_ID=100931732707,_AMQ_ORIG_QUEUE=jms.queue.ExpiryQueue]] type: 3
at org.apache.activemq.artemis.rest.queue.QueueConsumer.pollWithIndex(QueueConsumer.java:190)
at org.apache.activemq.artemis.rest.queue.QueueConsumer.checkIndexAndPoll(QueueConsumer.java:166)
at org.apache.activemq.artemis.rest.queue.QueueConsumer.poll(QueueConsumer.java:146)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
at org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:138)
at org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:107)
at org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:133)
at org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:107)
at org.jboss.resteasy.core.ResourceLocatorInvoker.invokeOnTargetObject(ResourceLocatorInvoker.java:133)
at org.jboss.resteasy.core.ResourceLocatorInvoker.invoke(ResourceLocatorInvoker.java:101)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:395)
... 32 more
Caused by: java.lang.IllegalArgumentException: ClientMessage must be an HTTP message or an Object message: ClientMessage[messageID=105226700092, durable=true, address=jms.queue.DLQ,userID=560c0246-e52b-11e5-82d3-4b37ae7b5e66,properties=TypedProperties[__AMQ_CID=5475aad0-e52b-11e5-82d3-4b37ae7b5e66,_AMQ_ORIG_ADDRESS=jms.queue.ExpiryQueue,_AMQ_ORIG_MESSAGE_ID=100931732707,_AMQ_ORIG_QUEUE=jms.queue.ExpiryQueue]] type: 3
at org.apache.activemq.artemis.rest.queue.ConsumedMessage.createConsumedMessage(ConsumedMessage.java:63)
at org.apache.activemq.artemis.rest.queue.QueueConsumer.pollWithIndex(QueueConsumer.java:182)
... 48 more
该应用程序在 wildfly 10 中运行,其中包括版本 1.1.0 中的 Artemis(artemis rest 版本:1.1.0)。
我尝试在请求中传递消息的内容类型。但似乎没有任何效果,无论我提供什么类型。
在这一点上,我对这个错误一无所知。希望任何人都可以指出我正确的方向。
提前致谢,托马斯。
最佳答案
我遇到了同样的问题并解决了:您是否尝试过为您的消息指定类型?
session.createMessage(ClientMessage.TEXT_TYPE, true);
关于java - artemis rest 集成 - 无法使用队列中的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38975492/
我正在尝试将 6 节点 Apache Artemis 静态集群作为 3 个实时备份对运行。为了在整个集群重启期间不丢失数据,我还创建了一种机制来确定这对节点中的哪一个具有更新的数据,并基于此服务器自动
我正在 Windows .NET 环境中使用 RabbitMQ、ActiveMQ“Classic”和 ActiveMQ Artemis 进行一些测试。 RabbitMQ 和 ActiveMQ“经典”附
我刚刚在我的新服务器上安装了一个新的artemis,可以正常运行服务但无法从外部访问。 我也关注了这个问题,似乎和我有类似的问题,但是似乎无法工作。 Artemis-2.6.3 console: Se
我做了一些事情来锁定我的 ActiveMQ Artemis 2.8.1 代理。我需要运行 > ./artemis data exp获取有关我的队列设置的数据。运行失败,报错说代理被锁定:/var/li
我正在 Docker 上试验 artemis 2.13.0。 我可以以编程方式创建队列,但无法通过 Web 控制台删除它。 有时,destroyQueue 作为队列操作中的一个选项出现。其他时候没有。
我尝试运行此代码: EmbeddedActiveMQ server = new EmbeddedActiveMQ(); server.setConfiguration(new Configuratio
简短版本 当我在 docker 中运行 ActiveMQ Artemis 时,我看到这个基本上是空的屏幕: 这看起来不对......我期待着这个,就像我在使用 zip 文件时得到的那样: 无论我使用d
我正在尝试将 Apache Artemis 代理与 Amazon MQ 代理连接起来以创建混合架构。我已经尝试将 ActiveMQ 与 Amazon MQ 连接起来,我可以通过在 broker.xml
我安装了 Apache ActiveMQ Artemis,并希望通过 GUI 用消息填充队列。 我导航到队列 --> 选择队列 --> 操作 有一个功能sendMessage(java.util.Ma
我已使用 artemis.cmd create 选项在 Apache ActiveMQ Artemis 中创建了地址和队列。但是,当我检查我的broker.xml时,我没有找到我使用artemis.c
我向 ActiveMQ Artemis 2.20 中的队列发送一条消息,然后导航到 Web 控制台以查看该消息,但我只能看到有限的字符。我可以配置 Web 控制台以显示队列中的完整消息正文吗? 最佳答
我正在以两种不同的方式初始化代理。一个听 0.0.0.0另一个监听节点 IP,即 172.29.245.17 . 经纪人1: [root@amq-1 apache-artemis-2.4.0]# bi
我正在从应用程序 A 向 Artemis 发送消息,但我从应用程序 A 收到此错误: AMQ212054: Destination address=my-service is blocked. If
我正在从应用程序 A 向 Artemis 发送消息,但我从应用程序 A 收到此错误: AMQ212054: Destination address=my-service is blocked. If
本文整理了Java中com.artemis.WorldConfigurationBuilder类的一些代码示例,展示了WorldConfigurationBuilder类的具体用法。这些代码示例主要来
我使用的是 Artemis 2.6.2,只有 STOMP 和以下星座: 经纪人: 没有在 broker.xml 中配置队列,一切都是自动创建的。 服务器: 订阅目标 TaskResponse 没有选择
我在 Kubernetes 中设置了一个 Artemis 集群,有 3 组主/从: activemq-artemis-master-0 1/
我在 Kubernetes 中有一个 Artemis 集群,有 3 组主/从: activemq-artemis-master-0 1/1
ActiveMQ“经典”有 virtual topic功能。这意味着消费者可以动态创建。 ActiveMQ Artemis 如何管理此功能? 最佳答案 ActiveMQ“Classic”中虚拟主题的要
我使用的是 ActiveMQ Artemis 2.10,在我的用例中,我希望避免队列中出现重复的消息,因此我在向队列发送消息之前设置了属性 Message.HDR_DUPLICATE_DETECTIO
我是一名优秀的程序员,十分优秀!