Infinispan能夠做爲內存數據庫使用,Infinispan CarMart示例是一個簡單的Web應用程序,使用Infinispan代替傳統的關係數據庫,CarMart提供瞭如下功能:html
根據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>
./standalone.sh
./standalone.sh -b <IP> -bmanagement=<IP>
啓動JBossAS 7啓動完成後,咱們將infinispan-carmart.war拷貝至$JBOSS_HOME/standalone/deployments即完成部署。緩存
3. 測試分析。咱們能夠經過http://<IP>:8080/infinispan-carmart訪問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示例,在打開的頁面咱們能夠執行添加,刪除,查看汽車等操做。