内容概要
JBoss Cluster Framework Demo包括JGruops、JBossCache、Infinispan,我们在随后的系列中会使用和运行这些示例来说明JGroups、JBossCache、Infinispan等的主要API和使用方法。本部分从三个方面介绍JBoss Cluster Framework Demo:
- Demo源代码
- Demo下载
- 编译打包生成Demo
Demo源代码
Demo源代码位于github,地址https://github.com/kylinsoong/cluster
Demo下载
我们可以从SourceForge下载,点击链接https://sourceforge.net/projects/jbossclusterframeworkdemo/files,选择合适自己操作系统的示例.zip文件下载,如下图:
下载完成解压,生成了示例代码运行环境主目录Demo,该目录结构如下:
如上图,示例代码运行环境主目录Demo包括:
- bin - 示例代码启动脚本,我们可以修改此目录下run.conf,run.conf.bat来改变JVM初始启动参数,及远程调试功能
- jboss-modules-1.1.2.GA.jar - 我们使用模块化类加载机制启动示例代码,此为模块化类加载机制的包
- conf - 示例代码运行所需的配置文件,log4j配置文件,jGroups配置文件,JBossCache配置文件,Infinispan配置文件等都在此目录下
- log - 示例代码运行时日志输出目录
- modules - 包括示例打包文件和示例依赖文件
编译打包生成Demo
本处给出如何编译打包示例代码的过程,执行下面步骤前,我们需要Maven,Ant,Git客户端,Eclipse,Java等安装在您机器上。
下载源代码
确保Git客户端安装完成后,打开新的命令行窗口,执行如下命令克隆源代码:
git clone git@github.com:kylinsoong/CustomizedTools.git
git clone git@github.com:kylinsoong/cluster.git
CustomizedTools是一些自定义的工具包,本书设计到的示例,实验需要依赖这些工具包。克隆完成后CustomizedTools和cluster目录会出现,cluster目录包含所有示例代码,我们将该目录称作示例代码的根目录。
配置文件修改
1. 修改cluster/jbosscache/jboss/service/pom.xml,指定一个jboss.home
2. 修改CustomizedTools/trunk/ui/pom.xm和cluster/infinispan/grid/demo/pom.xml,指定自己操作系统所需的swt包。
3. 修改cluster/bootstrap/build.xm,指定自己操作系统所需的swt包。
以上三步详细参照https://github.com/kylinsoong/cluster/blob/master/how-to-build.asciidoc
使用Maven编译打包
1. 进入到工具包目录CustomizedTools后执行如下Maven命令:
mvn clean install
如上将工具包类打包并安装到本地仓库,这样这些自定义的工具包可以被其他示例代码共享。
2. 进入示例代码的根目录(cluster),执行如下Maven命令
mvn clean install
如上将cluster示例打包并安装到本地仓库。
3. 进入cluster/bootstrap目录执行如下Maven命令
mvn clean install dependency:copy-dependencies
该命令执行完成会将打包完成的jar文件部署到本地仓库,这方便我们将示例代码导入Eclipse; 并且将示例代码依赖的jar包拷贝到本地,这方便我们下一步使用Ant编译。
以上三步详细参照https://github.com/kylinsoong/cluster/blob/master/how-to-build.asciidoc
使用Ant编译生成示例代码运行环境目录
同样在cluster/bootstrap目录下执行Ant命令:
ant
该命令执行完成后build/Demo会生成,Demo为示例代码运行环境主目录。Demo同下载解压得到的目录相同。
将示例代码导入Eclipse进行编辑
运行Eclipse,在Eclipse工作面板选择 File-> Import -> Maven -> Existing Maven Project,如下图:
如上图,点击Next,在弹出窗口中点击选择按钮,选中示例代码的根目录下pom.xml文件,然后点击完成按钮,示例代码导入到Eclipse中。