JBoss 系列二十八:JBoss Data Grid(Infinispan)CarMart 示例
2013-10-25 21:46
288 查看
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的统计信息
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,下图为示例的简单架构图。本示例共两台服务器,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示例,在打开的页面我们可以执行添加,删除,查看汽车等操作。
相关文章推荐
- JBoss 系列三十二:JBoss Data Grid(Infinispan)缓存模式示例
- JBoss 系列二十九:JBoss Data Grid(Infinispan)Football 示例
- JBoss 系列二十六:JBoss Data Grid(Infinispan)简介
- JBoss 系列二十七:JBoss Data Grid(Infinispan)下载安装和运行
- JBoss 系列三十一:JBoss Data Grid(Infinispan)缓存模式
- JBoss 系列三十:JBoss Data Grid(Infinispan)服务器
- KendoUI 官方示例之 Grid / Virtualization of remote data
- Oracle Golden Gate 系列十八 -- GG 多对一 real-time data warehousing 说明 与 示例
- JBoss 系列七十六: jBPM 6 示例之 rewards-basic
- Oracle Golden Gate 系列十八 -- GG 多对一 real-time data warehousing 说明 与 示例
- Oracle Golden Gate 系列十八 -- GG 多对一 real-time data warehousing 说明 与 示例
- JBoss 系列四十五:jBPM5示例之 Global Variable
- Oracle Golden Gate 系列十七 -- GG 一对多 real-time data distribution 说明 与 示例
- Oracle Golden Gate 系列十八 -- GG 多对一 real-time data warehousing 说明 与 示例
- JBoss 系列四十一:jBPM5示例之 Timer Event
- JBoss 系列四十六:jBPM5示例之 CustomerEvaluation
- Oracle Golden Gate 系列十八 -- GG 多对一 real-time data warehousing 说明 与 示例
- JBoss 系列六十六:JBoss 7/WildFly 集群之无状态会话Bean集群 - II(示例)
- Red Hat JBoss Data Grid 7.1 的新特性
- JBoss 系列四十二:jBPM5示例之 Signal Event