HornetQ发布包中包括一个平台专有的库,它可以使HornetQ使用Linux操作系统的libaio。
libaio是Linux项目的一个库。它将用户提交的写操作用异步的方式执行。通过 回调用户的代码来通知写操作的完成。
通过配置,HornetQ可以使用这个库来访问高性能的日志,具体请参见 Chapter 15, 持久化。
下面列出了HornetQ所带的平台专有库文件:
libHornetQAIO32.so - x86 32 位平台
libHornetQAIO64.so - x86 64 位平台
当使用libaio时,HornetQ会在库路径中寻找并装 载这些文件。
如果你的Linux平台不是x86_32或x86_64(比如Itanium 64或IBM Power),你需要自己编译相应的库文件, 因为HornetQ不提供这些平台的库文件。
目前libaio只在Linux上有。所以它不可能在其它操作系统上编译。
编译需要autoconf工具,它用来简化编译过程。除此之外还需要一些安装包:
gcc - C 编译器
gcc-c++ or g++ - gcc的c++编译工具扩展
autoconf - 自动编译工具
make - make 工具
automake - make文件自动生成工具
libtool - 库连接工具
libaio - 磁盘异步IO库
libaio-dev - libaio的编译支持
完整的JDK,JAVA_HOME要指向正确的位置
如果在RHEL或Fedora上进行安装,输入以下命令:
sudo yum install automake libtool autoconf gcc-g++ gcc libaio libaio-dev make
如果是 debian系统,则:
sudo apt-get install automake libtool autoconf gcc-g++ gcc libaio libaio-dev make
在有些Linux的版本中上述的安装包名可能有一些差别。(例如Fedora中的gcc-c++在Debian系统中 的名称为g++)
在HornetQ发布包的native-src目录下,执行shell脚本 bootstrap。这个脚本会调用 automake以及make来创建所有的make文件和专有库。
someUser@someBox:/messaging-distribution/native-src$ ./bootstrap checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p ... configure: creating ./config.status config.status: creating Makefile config.status: creating ./src/Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands config.status: executing libtool commands ...
编译好的库文件在./native-src/src/.libs/libHornetQAIO.so。将该文件移到发布包的 bin目录下,或者你的库目录 所指向的目录即可。
如果你修改了HornetQ的libaio代码,只需要在native-src目录下直挂运行make即可完成编译。