2

我想使用 Atmosphere XMPP,但我需要加载本机连接器 APR。我对 JBoss 7 还不是很熟悉,所以我想知道是否有人知道如何做到这一点?Windows x64 或 Linux x64 环境。没关系。谢谢

4

2 回答 2

4

假设这里是 Linux x64。我正在使用 Ubuntu 11.04 x64。

  1. 下载 JBoss7 发行版并将其解压缩到合适的目录(从这里我假设您将它放在您的 '/home/myname/tools/jboss701/' 文件夹中。
  2. 使用 /jboss701/bin/standalone.sh 启动它并验证它是否正确启动(检查 localhost:8080 url)。暂时关闭 jboss。

  3. 从这里下载本地库http://www.jboss.org/jbossweb/downloads/jboss-native-2-0-9.html。我已经下载了这个 jboss-native-2.0.9-linux2-x64-ssl.tar.gz

  4. 将其解压到 '/home/myname/tools/jboss701/' 文件夹。您应该在“/home/myname/tools/jboss701/bin”文件夹中看到存档的内容。另外,验证您在“/home/myname/tools/jboss701/bin”下是否有“native”文件夹

  5. 重要提示:不幸的是,它不能开箱即用。您必须进行以下更改:添加

JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/home/myname/tools/jboss701/bin/native:$PATH"

字符串到您的“standalone.conf”文件。

使用“standalone.sh”脚本启动 JBoss。验证在 JBoss 启动期间控制台中有以下行:'org.apache.coyote.http11.Http11AprProtocol'。如果您看到“org.apache.coyote.http11.Http11AprProtocol”而不是“org.apache.coyote.http11.Http11Protocol”,那么一切都按预期工作。

于 2011-09-09T15:19:43.437 回答
1

谢谢大佬,我搞定了 我现在确实在我的启动脚本中看到了这些行。`15:13:09,687 INFO [org.apache.catalina.core.AprLifecycleListener](MSC 服务线程 1-7)安装了 Apache Tomcat Native 库的旧版本 1.1.20,而 Tomcat 建议使用高于 1.1 的版本。 21

15:13:11,110 INFO [org.apache.coyote.http11.Http11AprProtocol](MSC 服务线程 1-3)在 http--127.0.0.1-8080 上启动 Coyote HTTP/1.1 不幸的是,Atmosphere 仍然抛出相同的错误。

java.lang.IllegalStateException: JBoss failed to detect this is a Comet application because the APR Connector is not enabled. Make sure atmosphere-compat-jboss.jar is not under your WEB-INF/lib and there is no context.xml under WEB-INF org.atmosphere.container.JBossWebCometSupport.<clinit>(JBossWebCometSupport.java:66) sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) java.lang.reflect.Constructor.newInstance(Constructor.java:513) org.atmosphere.cpr.DefaultCometSupportResolver.newCometSupport(DefaultCometSupportResolver.java:178) org.atmosphere.cpr.DefaultCometSupportResolver.resolveWebSocket(DefaultCometSupportResolver.java:223) org.atmosphere.cpr.DefaultCometSupportResolver.resolve(DefaultCometSupportResolver.java:217) org.atmosphere.cpr.AtmosphereServlet.autoDetectContainer(AtmosphereServlet.java:900) org.atmosphere.cpr.AtmosphereServlet.init(AtmosphereServlet.java:530) org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70) org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765) org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:662)

我已经按照演示设置了所有内容。也

于 2011-09-10T20:34:15.240 回答