Activemq 跺脚码头

Posted

技术标签:

【中文标题】Activemq 跺脚码头【英文标题】:Activemq stomp jetty 【发布时间】:2012-04-04 00:50:03 【问题描述】:

我想要做的是使用 stomp 通过 websocket 向主题发送 20-120KB 之间的消息 并引发以下错误,我尝试将 requestBufferSize 和 ResponseBuffersize 增加到 512000 的值而没有任何效果。任何帮助表示赞赏。

警告 |处理失败的 java.lang.IllegalStateException: FULL at org.eclipse.jetty.websocket.WebSocketParserD00.parseNext(WebSocketParserD00.java:104) 在 org.eclipse.jetty.websocket.WebSocketConnectionD00.handle(WebSocketConnectionD00.java:164) 在 org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:545) 在 org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:43) 在 org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598) 在 org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533) 在 java.lang.Thread.run(Thread.java:722)

【问题讨论】:

【参考方案1】:

我看到的主要问题是您似乎正在使用 websocket 协议的初稿。这由堆栈跟踪中的 D00 指示。

您想使用 RFC6455 版本,因为它现在实际上是 websocket 协议。

WebSocketConnectionRFC6455 等等..

使用最新的 7.6.x 或 8.1.x 版本的 jetty 并修复对旧草稿版本的任何引用。保留这些草稿是为了向后兼容,很可能迟早会被删除。

(很明显该协议直到大约草案 13 才向后兼容更改,我认为它是......所以这可能是协议不匹配)

【讨论】:

我使用了 jetty 7.6.1 问题是一样的 WARN |短信过大 > 16384 个字符。问题是 org.eclipse.jetty.websocket.WebSocketClient 类中的 maxTestMessageSize 为 16*1024

以上是关于Activemq 跺脚码头的主要内容,如果未能解决你的问题,请参考以下文章

如何将 ActiveMQ AJAX servlet 与 CORS 一起使用?

activemq 怎么 启动一个监听

ActiveMQ知识概括

ActiveMQ知识概括

ActiveMQ知识概括

activemq连接过多导致变慢