TreeCache的使用

今天为了解决缓存问题,随便使用了下JBoss的TreeCache,它可以做缓存的群集,详细的情况请看它的官方网站

首先我们需要对它做配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?xml version="1.0" encoding="UTF-8"?>
<!-- ===================================================================== -->
<!--                                                                       -->
<!--  Sample TreeCache Service Configuration                               -->
<!--                                                                       -->
<!-- ===================================================================== -->
<server>
	<classpath codebase="../lib" archives="jboss-cache.jar, jgroups.jar"/>
	<!-- ==================================================================== -->
	<!-- Defines TreeCache configuration                                      -->
	<!-- ==================================================================== -->
	<mbean code="org.jboss.cache.TreeCache" name="jboss.cache:service=DAOCache">
		<depends>jboss:service=Naming</depends>
		<depends>jboss:service=TransactionManager</depends>
		<!--
		Configure the TransactionManager
		-->
		<attribute name="TransactionManagerLookupClass">
			com.test.transaction.JotmTransactionManagerLookup</attribute>
		<!--
		Node locking scheme:
		OPTIMISTIC
		PESSIMISTIC (default)
		-->
		<attribute name="NodeLockingScheme">PESSIMISTIC</attribute>
		<!--
		Isolation level : SERIALIZABLE
		REPEATABLE_READ (default)
		READ_COMMITTED
		READ_UNCOMMITTED
		NONE
		-->
		<attribute name="IsolationLevel">REPEATABLE_READ</attribute>
		<!--
		Valid modes are LOCAL
		REPL_ASYNC
		REPL_SYNC
		INVALIDATION_ASYNC
		INVALIDATION_SYNC
		-->
		<attribute name="CacheMode">REPL_ASYNC</attribute>
		<!--
		Just used for async repl: use a replication queue
		-->
		<attribute name="UseReplQueue">false</attribute>
		<!--
		Replication interval for replication queue (in ms)
		-->
		<attribute name="ReplQueueInterval">0</attribute>
		<!--
		Max number of elements which trigger replication
		-->
		<attribute name="ReplQueueMaxElements">0</attribute>
		<!-- Name of cluster. Needs to be the same for all clusters, in order
		to find each other
		-->
		<attribute name="ClusterName">Product-Cache</attribute>
		<!-- JGroups protocol stack properties. Can also be a URL,
		e.g. file:/home/bela/default.xml
		<attribute name="ClusterProperties"></attribute>
		-->
		<attribute name="ClusterConfig">
			<config>
				<!-- UDP: if you have a multihomed machine,
				set the bind_addr attribute to the appropriate NIC IP address, e.g bind_addr="192.168.0.2"
				-->
				<!-- UDP: On Windows machines, because of the media sense feature
				being broken with multicast (even after disabling media sense)
				set the loopback attribute to true -->
				<UDP mcast_addr="192.168.0.2" mcast_port="48862" ip_ttl="64"
					ip_mcast="true" mcast_send_buf_size="150000"
					mcast_recv_buf_size="80000" ucast_send_buf_size="150000"
					ucast_recv_buf_size="80000" loopback="false"/>
				<PING timeout="2000" num_initial_members="3" up_thread="false"
					down_thread="false"/>
				<MERGE2 min_interval="10000" max_interval="20000"/>
				
				
				<!--        <FD shun="true" up_thread="true" down_thread="true" />-->
				<FD_SOCK/>
				<VERIFY_SUSPECT timeout="1500" up_thread="false"
					down_thread="false"/>
				<pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
					max_xmit_size="8192" up_thread="false" down_thread="false"/>
				<UNICAST timeout="600,1200,2400" window_size="100"
					min_threshold="10" down_thread="false"/>
				<pbcast.STABLE desired_avg_gossip="20000" up_thread="false"
					down_thread="false"/>
				<FRAG frag_size="8192" down_thread="false" up_thread="false"/>
				<pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
					shun="true" print_local_addr="true"/>
				<pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
			</config>
		</attribute>
		<!--
		Whether or not to fetch state on joining a cluster
		NOTE this used to be called FetchStateOnStartup and has been renamed to be more descriptive.
		-->
		<attribute name="FetchInMemoryState">true</attribute>
		<!--
		The max amount of time (in milliseconds) we wait until the
		initial state (ie. the contents of the cache) are retrieved from
		existing members in a clustered environment
		-->
		<attribute name="InitialStateRetrievalTimeout">15000</attribute>
		<!--
		Number of milliseconds to wait until all responses for a
		synchronous call have been received.
		-->
		<attribute name="SyncReplTimeout">15000</attribute>
		<!-- Max number of milliseconds to wait for a lock acquisition -->
		<attribute name="LockAcquisitionTimeout">1000</attribute>
		<!-- Name of the eviction policy class. -->
		<attribute name="EvictionPolicyClass"/>
		<!--
		Indicate whether to use marshalling or not. Set this to true if you are running under a scoped
		class loader, e.g., inside an application server. Default is "false".
		-->
		<attribute name="UseMarshalling">false</attribute>
	</mbean>
	<!--  Uncomment to get a graphical view of the TreeCache MBean above -->
	<!--   <mbean code="org.jboss.cache.TreeCacheView" name="jboss.cache:service=TreeCacheView">-->
	<!--      <depends>jboss.cache:service=TreeCache</depends>-->
	<!--      <attribute name="CacheService">jboss.cache:service=TreeCache</attribute>-->
	<!--   </mbean>-->
</server>


然后我们使用它
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    public static final String PRODUCT_NODE = "/Test/Product";
    /*
     * 初始化缓存
     */
    private boolean initCache()
    {
        try
        {
            treeCache = new TreeCache();
            org.jboss.cache.PropertyConfigurator config = new org.jboss.cache.PropertyConfigurator();
            config.configure(treeCache, "conf/cache.xml");
            treeCache.start();
            treeCache.put(PRODUCT_NODE, new HashMap());// 创建节点
 
        logger.info("缓存系统初始化成功!");
        }
        catch (Exception e)
        {
            logger.error("初始化缓存失败:" + e.getMessage());
 
            return false;
        }
 
        return true;
    }


向TreeCache添加元素
1
2
3
4
    public void addElement(Object key, Object value) throws Exception
    {
        treeCache.put(PRODUCT_NODE, key, value);
    }


从TreeCache获取元素
1
2
3
4
    public Object getElement(Object key) throws Exception
    {
        return treeCache.get(PRODUCT_NODE, key);
    }


从TreeCache删除元素
1
2
3
4
    public Object removeElement(Object key) throws Exception
    {
        return treeCache.remove(PRODUCT_NODE, key);
    }


判断元素是否存在于TreeCache
1
2
3
4
    public booleanexistElement(Object key) throws Exception
    {
        return treeCache.exists(PRODUCT_NODE, key);
    }


平均得分
(0 次评分)





文章来自: 本站原创
标签: 缓存 jboss TreeCache 
评论: 124 | 查看次数: 2254
  • 共有 124 条评论
  • 1
  • 2
  • 3
  • 4
  • 5
  • |
  • >>
游客 [2008-11-20 17:03:10]
上海优乐加城市工业园区坐落于上海工业园,园区占地12万平方米,有节能和健康舒适的生产环境,集标准厂房、独幢研发楼等,厂房出租商具有丰富的与客服沟通合作的经验,喜获“上海工业园优秀物业管理工业区”殊荣。建有标准工业厂房12栋,科技产业园的上海厂房租办公楼租赁令生产商务成本更为集约化、经济化,另有一栋全3层上海厂房标准厂房出租,面向园区景观绿化中心,环境优美!gow9ge hyyqqgo

日前,上海优乐加城市工业园区北区一期厂房已顺利完工,可交付使用!
此次一期完工的工业厂房办公楼租赁共计有5栋,面积范围在2690平米——4662平米不等,物业形式为生产区域二层,办公区域局部三层,全为钢砼框架结构。厂房办公区域、生产车间可分割、整合,根据客户需要自由组合,灵活多样。外墙采取全澳洲进口环保涂料,高标准低能耗,在同等光照条件下,室内外温差可达2-3摄氏度 。

目前已有两家客户正式签约,入驻我们优乐加城市工业园,且均为外资企业,在同行业中都处领先地位。其中,1#厂房已经顺利开始生产运作,经营状况良好。

此外,园区的二期、三期厂房也正在加紧建设之中,8栋厂房将于今年年底,明年年中分批交付使用,敬请期待!
游客 [2008-11-20 13:24:41]
游客 [2008-11-20 11:27:36]
游客 [2008-11-18 20:20:53]
游客 [2008-11-11 10:43:46]
游客 [2008-11-10 11:12:47]
游客 [2008-11-08 20:21:50]
游客 [2008-11-08 10:50:49]
http://www.xyfhgd.com/book/index.asp
游客 [2008-11-07 13:59:49]
游客 [2008-11-07 13:30:06]
游客 [2008-11-06 15:47:33]
游客 [2008-11-06 14:55:57]
游客 [2008-11-06 14:55:56]
游客 [2008-11-05 16:11:17]
world of warcraft goldbuy wow goldcheap wow goldaoc goldwow power levelingwow powerlevelingwow levelingworld of warcraft goldbuy wow goldcheap wow goldwow power levelingwow powerlevelingbuy wow goldcheap wow goldwow power levelingwow powerlevelingrunescape goldrunescape moneyEverQuest 2 goldeq2 platEverQuest 2 goldeq2 platMaple Story Mesos maplestory MesosMaple Story meso maplestory meso Final Fantasy XI gilffxi gilLOTRO GoldLOTR Goldlord of the ring goldGranado Espada VisGranado Espada goldGE moneydofus kamaskamas dofusrunescape goldrunescape moneyflyff penyabuy flyff goldflyff moneyEverQuest platbuy eq goldEverQuest goldeq plateq goldAge of Conan goldage of conan power levelingfinal fantasy xi gilffxi gildofus kamaskamas dofusLOTRO GoldLOTR Goldlord of the ring goldsilkroad goldbuy silkroad goldAge of Conan goldage of conan power levelingffxi gilwow levelingwow power levelingwow powerlevelingwow goldwow power levelingwow powerlevelinghero online goldimvu creditskal geonknight goldlast chaos goldlineage adenalineage 2 adenalord of the rings goldlotro goldlotr goldmaple story mesosmaplestory mesosmaplestory mesoperfect world goldpirates of the burning Sea goldaoc goldaoc goldage of conan power levelingaoc power levelingaoc levelingaoc goldbuy ffxi gilage conan goldbuy ffxi gilbuy ffxi gilbuy ffxi gilage conan goldage conan goldage conan goldWarhammer goldaoc power levelingaoc levelingfinal fantasy xi gilfinal fantasy 11 cheap gilfinal fantasy 11 cheap gilBuy Warhammer goldcheap ffxi gilcheap ffxi gilcheap ffxi gilwow gold Warhammer goldWarhammer goldBuy Warhammer goldBuy Warhammer goldWarhammer goldWarhammer goldBuy Warhammer goldBuy Warhammer goldLOTRO GoldWarhammer goldWarhammer goldBuy Warhammer goldBuy Warhammer goldwow goldwow gold
游客 [2008-11-05 16:06:55]
Sincerely thank you for wow goldwow gold visiting our webpages and please Buy Warhammer gold share gamelee.com with your friends Age of Conan gold and family ffxi gil so they can Maple Story Mesosvisit and enjoy Buy Warhammer gold shopping online at their convenience at a site where they can trust for good and good service.
  • 共有 124 条评论
  • 1
  • 2
  • 3
  • 4
  • 5
  • |
  • >>
发表评论
昵 称:  登录
内 容:
选 项:
字数限制 1000 字 | UBB代码 开启 | [img]标签 开启