JBoss Data Grid是Red Hat中间件产品(http://www.redhat.com/products/jbossenterprisemiddleware/data-grid/),JBoss Data Grid是基于开源社区产品Infinispan(http://infinispan.org/)。 企业版的JBoss Data Grid与社区版的Infinispan代码完全一样,所以本部分内容基于Infinispan进行。
示例概述
Infinispan可以作为内存数据库使用,Infinispan CarMart示例是一个简单的Web应用程序,使用Infinispan代替传统的关系数据库,CarMart提供了以下功能:
- 列出所有车
- 添加新的车
- 删除某一特定的车
- 查看Infinispan的统计信息
以远程客户端-服务器端模式运行Infinispan CarMart示例
根据JBoss Cluster Framework Demo 介绍所示的方法,任意从SourceForge下载或编译生成DEMO_HOME,本处所需的infinispan-carmart.war位于DEMO_HOME/dist下,我们需要将infinispan-carmart.war部署到JBoss AS 7,下图为示例的简单架构图。
本示例共两台服务器,Infinispan服务器和JBoss服务器,JBoss服务器用来部署CarMart Web应用程序;Infinispan服务器为CarMart提供存储数据的支持,carcache为配置在Infinispan服务器上的命名缓存,CarMart中所有数据都保存在carcache中;CarMart使用Infinispan服务器提供的HotRod协议,通过11222端口从缓存中获取数据;通过8080端口我们可以访问部署在JBoss服务器上的Web应用程序。具体我们使用如下步骤运行测试CarMart示例。
1. 配置启动Infinispan服务器。同样,为了方便描述,我们将Infinispan服务器目录称为JDG_HOME,编辑$JDG_HOME/standalone/configuration/standalone.xml,添加carcache如下所示:
<local-cache name="carcache" start="EAGER" batching="false">
<locking isolation="REPEATABLE_READ" striping="false" acquire-timeout="20000" concurrency-level="500"/>
<eviction strategy="LIRS" max-entries="100"/>
</local-cache>
注意,如上配置需要添加到cache-container中。$JDG_HOME/bin目录下有Infinispan服务器的启动脚本启动Infinispan如下:
./standalone.sh
2. 启动JBoss AS 7,并将infinispan-carmart.war部署到JBoss AS 7。$JBOSS_HOME/bin目录下有JBoss AS 7启动脚本,我们通过如下命令JBoss AS 7:
./standalone.sh -b <IP> -bmanagement=<IP>
启动JBossAS 7启动完成后,我们将infinispan-carmart.war拷贝至$JBOSS_HOME/standalone/deployments即完成部署。
3. 测试分析。我们可以通过http://<IP>:8080/infinispan-carmart访问CarMart示例,在打开的页面我们可以执行添加,删除,查看汽车等操作。以本地模式运行Infinispan CarMart示例
根据JBoss Cluster Framework Demo 介绍所示的方法,任意从SourceForge下载或编译生成DEMO_HOME,本处所需的infinispan-carmart-tx.war位于DEMO_HOME/dist下,我们需要将infinispan-carmart-tx.war部署到JBoss AS 7,下图为示例的简单架构图。
如图,我们使用Infinispan本地模式,即名为“carcache”的命名缓存与CarMart Web应用程序在同一台JBoss服务器上;同样CarMart应用的数据存储于缓存之中,与以远程客户端-服务器端模式相比,本地模式支持事务性,事务性单元内操作发生异常则整个事务回滚;CarMart通过Infinispan提供的接口读取,删除以及插入数据;通过8080端口我们可以访问部署在JBoss服务器上的Web应用程序。具体我们使用如下步骤运行测试CarMart示例。
1. 启动JBoss AS 7,并将infinispan-carmart-tx.war部署到JBoss AS 7。$JBOSS_HOME/bin目录下有JBoss AS 7启动脚本,我们通过如下命令JBoss AS 7:
./standalone.sh -b <IP> -bmanagement=<IP>
启动JBossAS 7启动完成后,我们将infinispan-carmart-tx.war拷贝至$JBOSS_HOME/standalone/deployments即完成部署。
2. 测试分析。我们可以通过http://<IP>:8080/infinispan-carmart访问CarMart示例,在打开的页面我们可以执行添加,删除,查看汽车等操作。来源:oschina
链接:https://my.oschina.net/u/163910/blog/197224