您好,我在本地机器上安装了 openfireserver。
下面是我的 http 绑定(bind)配置: ![Openfire 配置 http-config][1]
我还在 Pidgin 中添加了新用户:
- 协议(protocol):Xmpp
- 用户名:test
- 域:本地主机
- 资源:测试
- 通过:测试
高级:
- 端口:7070
- 服务器:(无)
- 文件传输代理:proxy.eu.jabber.org
- URL BOSH 协议(protocol):
http://localhost/http-bind/
但是连接失败。
如果我尝试使用此选项:
- 端口:7070
- BOSH 网址:
http://localhost:7070/http-bind/
我在 openfire 中遇到了另一个错误:
2013.03.15 20:50:15 org.eclipse.jetty.servlet.ServletHandler - /http-bind/
java.util.concurrent.RejectedExecutionException: Task org.jivesoftware.openfire.http.HttpSessionManager$HttpPacketSender@65e92309 rejected from java.util.concurrent.ThreadPoolExecutor@18ee24bf[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2048)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372)
at org.jivesoftware.openfire.http.HttpSessionManager$HttpPacketSender.init(HttpSessionManager.java:417)
at org.jivesoftware.openfire.http.HttpSessionManager$HttpPacketSender.access$200(HttpSessionManager.java:405)
at org.jivesoftware.openfire.http.HttpSessionManager.forwardRequest(HttpSessionManager.java:319)
at org.jivesoftware.openfire.http.HttpBindServlet.handleSessionRequest(HttpBindServlet.java:254)
at org.jivesoftware.openfire.http.HttpBindServlet.parseDocument(HttpBindServlet.java:176)
at org.jivesoftware.openfire.http.HttpBindServlet.doPost(HttpBindServlet.java:145)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:480)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
在 xmpp pidigin 控制台中我有错误:
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5' client-uses-full-bind-result='true'/>
<head>
<meta http-equiv='Content-Type' content='text/html;charset=ISO-8859-1'/>
<title>Error 500 Task org.jivesoftware.openfire.http.HttpSessionManager$HttpPacketSender@20a88f61 rejected from java.util.concurrent.ThreadPoolExecutor@18ee24bf[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]</title>
</head>
<body>
<h2>HTTP ERROR: 500</h2>
<p>Problem accessing /http-bind/. Reason:
<pre> Task org.jivesoftware.openfire.http.HttpSessionManager$HttpPacketSender@20a88f61 rejected from java.util.concurrent.ThreadPoolExecutor@18ee24bf[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]</pre>
</p>
<hr/>
<i>
<small>Powered by Jetty://</small>
</i>
我如何尝试通过 pidigin 连接到 openfire 并使用 http 绑定(bind)???
最佳答案
看来用于处理入站 BOSH 请求的线程池的大小已设置为零。默认情况下,此值应为 16,但此值可能会被两个 Openfire 系统属性中的任何一个覆盖:
xmpp.httpbind.worker.threads
xmpp.client.processing.threads
如果这两个属性中的任何一个已设置为零或负值,您应该使用管理控制台上的“系统属性”页面简单地删除无效的键/值对,然后重新启动 Openfire。
关于linux - 尝试通过 http-bind 连接时出现 openfire 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15440897/