欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

tomcat 集群下ehcache 整合spring cache-annota

系統(tǒng) 1918 0
系統(tǒng)環(huán)境:win7
部署環(huán)境:apache2.2 tomcat4
應(yīng)用程序版本:spring3.2 ehcache2.6

1:tomcat 負(fù)載和集群配置
1.1 模型圖

[img]
tomcat 集群下ehcache 整合spring cache-annotation
[/img]

tomcat負(fù)載需要apache協(xié)助,apache啟的作用就是,接受client請(qǐng)求,調(diào)度tomcat.
各個(gè)tomcat分載請(qǐng)求,均衡流量,降低web server壓力。通過(guò)tomcat cluster 可以實(shí)現(xiàn)各tomcat數(shù)據(jù)同步和共享。
1.2 配置
??? 解壓兩個(gè)統(tǒng)一版本的tomcat 分別命名為apache-tomcat-6080 和apache-tomcat-7080
?? 修改6080tomcat srever。xml
    
 <Server port="6005" shutdown="SHUTDOWN"> 
   <Connector port="6080" protocol="HTTP/1.1" 
        connectionTimeout="20000" 
        redirectPort="6443"  
        useBodyEncodingForURI ="true" 
        URIEncoding="UTF-8"
   />
   <Connector port="6009" protocol="AJP/1.3" redirectPort="6443" />
   <!--jvmRoute 是apache 檢測(cè)通道名--> 
   <Engine name="Catalina" defaultHost="localhost"   
    jvmRoute="tomcat1">
   
   <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
                 channelSendOptions="8">

          <Manager className="org.apache.catalina.ha.session.DeltaManager"
                   expireSessionsOnShutdown="false"
                   notifyListenersOnReplication="true"/>

          <Channel className="org.apache.catalina.tribes.group.GroupChannel">
            <Membership className="org.apache.catalina.tribes.membership.McastService"
                        address="228.0.0.4"
                        port="45564"
                        frequency="500"
                        dropTime="3000"/>
            <!--port 不同tomcat 設(shè)置不同-->
            <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                      address="auto"
                      port="4001"
                      autoBind="100"
                      selectorTimeout="5000"
                      maxThreads="6"/>

            <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
              <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
            </Sender>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
          </Channel>

          <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
                 filter=""/>
          <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

          <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
                    tempDir="/tmp/war-temp/"
                    deployDir="/tmp/war-deploy/"
                    watchDir="/tmp/war-listen/"
                    watchEnabled="false"/>

          <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
        </Cluster>


  

修改7080tomcat srever。xml
    
 <Server port="7005" shutdown="SHUTDOWN"> 
   <Connector port="7080" protocol="HTTP/1.1" 
        connectionTimeout="20000" 
        redirectPort="7443"  
        useBodyEncodingForURI ="true" 
        URIEncoding="UTF-8"
   />
   <Connector port="7009" protocol="AJP/1.3" redirectPort="7443" />
   <!--jvmRoute 是apache 檢測(cè)通道名--> 
   <Engine name="Catalina" defaultHost="localhost"   
    jvmRoute="tomcat1">
   
   <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
                 channelSendOptions="8">

          <Manager className="org.apache.catalina.ha.session.DeltaManager"
                   expireSessionsOnShutdown="false"
                   notifyListenersOnReplication="true"/>

          <Channel className="org.apache.catalina.tribes.group.GroupChannel">
            <Membership className="org.apache.catalina.tribes.membership.McastService"
                        address="228.0.0.4"
                        port="45564"
                        frequency="500"
                        dropTime="3000"/>
            <!--port 不同tomcat 設(shè)置不同-->
            <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                      address="auto"
                      port="4002"
                      autoBind="100"
                      selectorTimeout="5000"
                      maxThreads="6"/>

            <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
              <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
            </Sender>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
          </Channel>

          <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
                 filter=""/>
          <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

          <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
                    tempDir="/tmp/war-temp/"
                    deployDir="/tmp/war-deploy/"
                    watchDir="/tmp/war-listen/"
                    watchEnabled="false"/>

          <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
        </Cluster>


  


?? 配置apache
?? 將mod_jk-1.2.31-httpd-2.2.3.so 復(fù)制到apache moudles 中。
??? 在conf中創(chuàng)建mod_jk.conf 和workers.properties。
??? mod_jk.conf? 主要定義mod_jk模塊的位置以及mod_jk模塊的連接日志設(shè)置,還有定義worker.properties文件的位置。
???
    
    LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so
JkWorkersFile conf/workers.properties
JkMount /*.* controller

    
  

??
??? workers.properties 定義worker的參數(shù),主要是連接tomcat主機(jī)的地址和端口信息。如果Tomcat與apache不在同一臺(tái)機(jī)器上,或者需要做多臺(tái)機(jī)器上tomcat的負(fù)載均衡只需要更改workers.properties文件中的相應(yīng)定義即可。
???
    
    #server
worker.list = controller,tomcat1,tomcat2
#========tomcat1========
worker.tomcat1.port=6009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=7009
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1

#========controller,負(fù)載均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1
#worker.controller.sticky_session=1


   
  

??
將conf/httpdf.conf 文件末尾追加:
    Include conf/mod_jk.conf
  


2 ehcache 與 spring-cache 整合
? 2.1 添加ehcache.xml
    
<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
    <diskStore path="F:/eclipse_workspace/springmvc3.2/cache"/>
    <defaultCache
     maxElementsInMemory="500"
     eternal="false"
     timeToIdleSeconds="300"
     timeToLiveSeconds="1200"
     overflowToDisk="true"/>
    <cache name="user" maxElementsInMemory="150" eternal="false" timeToLiveSeconds="36000" timeToIdleSeconds="3600" overflowToDisk="true">
          <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" 
              properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true,replicateUpdatesViaCopy= true, replicateRemovals= true " />
          <!-- <cacheEventListenerFactory class="cn.com.dwsoft.test.ehcache.EventFactory" />    -->
    </cache>
   <cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
   properties="peerDiscovery=manual,rmiUrls=//127.0.0.1:40002/user"/>

    <cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
        properties="hostName=127.0.0.1,port=40001,socketTimeoutMillis=2000"/>
</ehcache>

  


cacheManagerPeerProviderFactory 其他tomcat 多個(gè)url 可以用,分割
cacheManagerPeerListenerFactory 當(dāng)前tomcat
部署時(shí),需要根據(jù)tomcat 集群監(jiān)聽(tīng)端口 修改各自的ehcache.xml配置.


applictionContext.xml 配置
    
<!-- cacheManager工廠類(lèi) -->

	<bean id="cacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"

     p:configLocation="classpath:ehcache.xml"

     p:shared="false" />


	<!-- 聲明cacheManager -->
	<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager"
	   p:cacheManager-ref="cacheManagerFactory"/>

  


spring 注解緩存使用
    

package com.cn.ld.modules.user.service.impl;

import java.util.Arrays;

@EnableCaching
@Service
public class UserServiceImpl implements UserService ,UserDetailsService{
	private User[] users = null;
	{
		users = new User[5];
		users[0] = new User("java小生0", "111111", 21, '男');
		users[1] = new User("java小生1", "222222", 22, '男');
		users[2] = new User("java小生2", "333333", 23, '男');
		users[3] = new User("java小生3", "444444", 24, '男');
		users[4] = new User("java小生4", "555555", 25, '女');
	}

	@Cacheable(value = "user" , condition="#id < 3" ,unless="#result.age == 25")
	public User findById(int id) {
		System.out.println("--------findById start-----------");
		System.out.println("agrs{id:"+id+"}");
		User u = Arrays.asList(users).get(id);
		System.out.println("--------findById end-----------");
		return u;
	}

	@Override
	public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
	{
		User user = new User(username, "111111", 25, '男');
		return user ;
	}
}


  

tomcat 集群下ehcache 整合spring cache-annotation


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 日本一区中文字幕 | 国模无水印一区二区三区 | 奇米影视444 | 青青色在线观看 | 国产亚洲精品久久久极品美女 | 男女拍拍拍无挡免费视频 | 91婷婷射 | 亚洲在线视频播放 | 欧美亚洲一区二区三区四区 | 91香焦视频 | 国产毛A片啊久久久久久A | 久久精品 | 加勒比精品久久一区二区三区 | 精品久久久久久久久久久久久久 | 岛国色情A片无码视频免费看 | 午夜视频高清在线aaa | 二区三区偷拍浴室洗澡视频 | 青草青在线 | 一区二区三区在线观看免费 | 久久亚洲国产成人亚 | 国内自拍视频在线观看 | 久久99欧美| 青草视频网址 | 一道本不卡一区 | 黄色成人av| 日韩免费视频 | 免费欧美黄色网址 | 久久草在线视频免费 | 青青草原综合网 | 精品国产欧美 | 国产在线精品一区二区三区 | 欧美黑人狂野猛交老妇 | 欧美在线观看一区 | 中国一级毛片视频 | 91视频.com| 亚洲欧美日韩在线线精品 | 亚洲欧美日韩高清一区二区三区 | 成人国内精品久久久久影 | 亚洲精品国产a久久久久久 亚洲国产精品第一页 | 夜夜草 | 手机成人在线视频 |