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

时间:2013-03-15 19:44:31

标签: linux xmpp openfire pidgin

您好我在我的本地机器openfireserver中安装。

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

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

  1. protocol:Xmpp
  2. 用户名:test
  3. domain:localhost
  4. 资源:测试
  5. 传递:测试
  6. 高级

    1. port:7070
    2. 服务器:(没有)
    3. 文件传输代理:proxy.eu.jabber.org
    4. 网址BOSH协议:http://localhost/http-bind/
    5. 但连接失败。

      如果我尝试使用此选项:

      1. port:7070
      2. BOSH网址:http://localhost:7070/http-bind/
      3. 我在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绑定???

1 个答案:

答案 0 :(得分:7)

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

xmpp.httpbind.worker.threads
xmpp.client.processing.threads

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