JBoss 系列二十八:JBoss Data Grid(Infinispan)CarMart 示例

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提供了如下功能:html

  • 列出全部车
  • 添加新的车
  • 删除某一特定的车
  • 查看Infinispan的统计信息
CarMart示例中每一个车的信息保存在Infinispan中,咱们经过三种方式运行CarMart示例:远程客户端-服务器端模式,本地模式。其中远程客户端-服务器端模式咱们使用Infinispan HotRod协议存取数据,本地模式是事务性的经过Infinispan接口存取数据。CarMart示例源代码位于 cluster/infinispan/carmart目录之下:

以远程客户端-服务器端模式运行Infinispan CarMart示例

根据JBoss Cluster Framework Demo 介绍所示的方法,任意从SourceForge下载或编译生成DEMO_HOME,本处所需的infinispan-carmart.war位于DEMO_HOME/dist下,咱们须要将infinispan-carmart.war部署到JBoss AS 7,下图为示例的简单架构图。
git


本示例共两台服务器,Infinispan服务器和JBoss服务器,JBoss服务器用来部署CarMart Web应用程序;Infinispan服务器为CarMart提供存储数据的支持,carcache为配置在Infinispan服务器上的命名缓存,CarMart中全部数据都保存在carcache中;CarMart使用Infinispan服务器提供的HotRod协议,经过11222端口从缓存中获取数据;经过8080端口咱们能够访问部署在JBoss服务器上的Web应用程序。具体咱们使用以下步骤运行测试CarMart示例。github

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即完成部署。ui

2. 测试分析。咱们能够经过http://<IP>:8080/infinispan-carmart访问CarMart示例,在打开的页面咱们能够执行添加,删除,查看汽车等操做。
相关文章
相关标签/搜索