我想使用 Atmosphere XMPP,但我需要加载本机连接器 APR。我对 JBoss 7 还不是很熟悉,所以我想知道是否有人知道如何做到这一点?Windows x64 或 Linux x64 环境。没关系。谢谢
2 回答
假设这里是 Linux x64。我正在使用 Ubuntu 11.04 x64。
- 下载 JBoss7 发行版并将其解压缩到合适的目录(从这里我假设您将它放在您的 '/home/myname/tools/jboss701/' 文件夹中。
使用 /jboss701/bin/standalone.sh 启动它并验证它是否正确启动(检查 localhost:8080 url)。暂时关闭 jboss。
从这里下载本地库http://www.jboss.org/jbossweb/downloads/jboss-native-2-0-9.html。我已经下载了这个 jboss-native-2.0.9-linux2-x64-ssl.tar.gz
将其解压到 '/home/myname/tools/jboss701/' 文件夹。您应该在“/home/myname/tools/jboss701/bin”文件夹中看到存档的内容。另外,验证您在“/home/myname/tools/jboss701/bin”下是否有“native”文件夹
重要提示:不幸的是,它不能开箱即用。您必须进行以下更改:添加
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”,那么一切都按预期工作。
谢谢大佬,我搞定了 我现在确实在我的启动脚本中看到了这些行。`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)
我已经按照演示设置了所有内容。也