ubuntu - hornetq无法启动,错误: NATIVE_ERROR_CANT_OPEN_CLOSE_FILE

标签 ubuntu hornetq

全部。我正在尝试开始使用 torquebox 应用程序服务器 (JBoss AS7),一切似乎都正常,除了消息传递子系统。起初我以为是我的 torquebox 设置错误,但后来我下载了独立的 HornetQ(2.3.0 final)并尝试运行 bin/start.sh。出现同样的错误:

21:29:03,128 WARN  [org.hornetq.core.server] HQ222010: Critical IO Error, shutting down the server. file=AIOSequentialFile:/home/gintaras/Downloads/hornetq-2.3.0.Final/bin/../data/journal/hornetq-data-1.hq.tmp, message=Can't open file: HornetQException[errorType=NATIVE_ERROR_CANT_OPEN_CLOSE_FILE message=Can't open file]
at org.hornetq.core.asyncio.impl.AsynchronousFileImpl.init(Native Method) [hornetq-journal.jar:]
at org.hornetq.core.asyncio.impl.AsynchronousFileImpl.open(AsynchronousFileImpl.java:220) [hornetq-journal.jar:]
at org.hornetq.core.journal.impl.AIOSequentialFile.open(AIOSequentialFile.java:190) [hornetq-journal.jar:]

我还在此处添加了一条评论,其中包含更多信息:https://issues.jboss.org/browse/HORNETQ-818 (Gintaras 的最后一篇文章)

任何想法出了什么问题?

最佳答案

您似乎在不支持直接 IO 的配置上启动系统。你可以把它切换到 NIO。

   <subsystem xmlns="urn:jboss:domain:messaging:1.1">
        <hornetq-server>
            <persistence-enabled>true</persistence-enabled>
            ...
            **<journal-type>NIO</journal-type>**

libAIO 需要直接访问文件,这意味着 DMA 和直接写入,而加密文件将放置一个额外的层,因此您将无法直接访问文件。

如果您需要,您可以使用 NIO,它将使用常规的 java NIO 文件。

如果不需要,则必须将日志目录从加密文件中移开。

我也写过你在这里提到的主题:https://community.jboss.org/message/750503

关于ubuntu - hornetq无法启动,错误: NATIVE_ERROR_CANT_OPEN_CLOSE_FILE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16266337/

相关文章:

java - 新创建的客户端是否知道 hornetq 中的旧消息?

ubuntu - ubuntu16.04安装点云库报错

java - 使用 Tomcat 7、Apache Wink 和 Mongodb 在 WAR Deploy 上记录错误

tensorflow - 无法在 Ubuntu 16.04 中配置 tensorflow 以使用 GPU 加速

ubuntu - 如何更改 Netbeans 中编译错误的颜色

java - 通过 JMS API 检查 HornetQ 中是否存在队列

ruby-on-rails - 哪个是 Ubuntu 上 Ruby on Rails 应用程序的最佳 Web 服务器?

java - JBOSS 6.1 无法从池中获取连接

jboss - 通过 JNDI 使用 HornetQ ConnectionFactory 以 EAR 启动 JBoss 时出现 NameNotFoundException

java - 用户 : null doesnt have permission=CREATE_DURABLE_QUEUE on address