尝试通过http-bind连接时出现openfire错误

Łuk*_*zka 1 linux xmpp openfire pidgin

你好我在我的本地机器openfireserver安装.

下面是我的http绑定配置:![Openfire配置http-config] [1]

我还在Pidgin中添加了新用户:

  1. 协议:Xmpp
  2. 用户名:test
  3. domain:localhost
  4. 资源:测试
  5. 通过:测试

高级:

  1. 港口:7070
  2. 服务器:(没什么)
  3. 文件传输代理:proxy.eu.jabber.org
  4. URL BOSH协议: http://localhost/http-bind/

但连接失败了.

如果我尝试使用此选项:

  1. 港口:7070
  2. 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) 
Run Code Online (Sandbox Code Playgroud)

并在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>
Run Code Online (Sandbox Code Playgroud)

我如何尝试通过pidigin连接到openfire并使用http绑定?

小智 7

看来用于处理入站BOSH请求的线程池的大小已设置为零.默认情况下,此值应为16,但此值可能会被两个Openfire系统属性中的任何一个覆盖:

xmpp.httpbind.worker.threads
xmpp.client.processing.threads
Run Code Online (Sandbox Code Playgroud)

如果将这两个属性中的任何一个设置为零或负值,则只需使用管理控制台上的"系统属性"页面删除无效的键/值对,然后重新启动Openfire.