- 浏览: 313320 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (118)
- oracle (16)
- java (13)
- jquery (16)
- hibernate (2)
- spring (14)
- struts (2)
- eclipse (1)
- birt (5)
- integrated skill (13)
- linux (9)
- css+html (5)
- redis (1)
- jqgrid (4)
- mybatis (2)
- multithreading (3)
- jvm (1)
- mvn (3)
- php (2)
- jms (2)
- photoshop (1)
- springmvc (3)
- cluster (1)
- cache (1)
- jquery-ui (2)
- 英语词根 (0)
- svn (0)
- ide (1)
- mysql (3)
- rich-text (1)
- golang (8)
- mac 10 (1)
- android (1)
- react (0)
- bootstrap (2)
- css (2)
- 1 (0)
- beego (1)
- pictures (1)
- java小生转战 (0)
- 转站通知 (0)
- 转站通知,,,啊啊啊 (1)
- threeperson (1)
- unity (1)
最新评论
-
zld406504302:
aaaddddddd
java小生转站threeperson博客 -
zld406504302:
aaaaaddd
java小生转站threeperson博客 -
zld406504302:
aaaaaaaaaaaa
java小生转站threeperson博客 -
乌发舞天:
UEditor 实例 -
van_2013:
请问这是订阅模式的配置吗?
SPRING JMS 整合ACTIVEMQ
tomcat 集群下ehcache 整合spring cache-annotation
系统环境:win7
部署环境:apache2.2 tomcat4
应用程序版本:spring3.2 ehcache2.6
1:tomcat 负载和集群配置
1.1 模型图
[img]
[/img]
tomcat负载需要apache协助,apache启的作用就是,接受client请求,调度tomcat.
各个tomcat分载请求,均衡流量,降低web server压力。通过tomcat cluster 可以实现各tomcat数据同步和共享。
1.2 配置
解压两个统一版本的tomcat 分别命名为apache-tomcat-6080 和apache-tomcat-7080
修改6080tomcat srever。xml
修改7080tomcat srever。xml
配置apache
将mod_jk-1.2.31-httpd-2.2.3.so 复制到apache moudles 中。
在conf中创建mod_jk.conf 和workers.properties。
mod_jk.conf 主要定义mod_jk模块的位置以及mod_jk模块的连接日志设置,还有定义worker.properties文件的位置。
workers.properties 定义worker的参数,主要是连接tomcat主机的地址和端口信息。如果Tomcat与apache不在同一台机器上,或者需要做多台机器上tomcat的负载均衡只需要更改workers.properties文件中的相应定义即可。
将conf/httpdf.conf 文件末尾追加:
2 ehcache 与 spring-cache 整合
2.1 添加ehcache.xml
cacheManagerPeerProviderFactory 其他tomcat 多个url 可以用,分割
cacheManagerPeerListenerFactory 当前tomcat
部署时,需要根据tomcat 集群监听端口 修改各自的ehcache.xml配置.
applictionContext.xml 配置
spring 注解缓存使用
部署环境:apache2.2 tomcat4
应用程序版本:spring3.2 ehcache2.6
1:tomcat 负载和集群配置
1.1 模型图
[img]
[/img]
tomcat负载需要apache协助,apache启的作用就是,接受client请求,调度tomcat.
各个tomcat分载请求,均衡流量,降低web server压力。通过tomcat cluster 可以实现各tomcat数据同步和共享。
1.2 配置
解压两个统一版本的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 检测通道名--> <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 设置不同--> <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 检测通道名--> <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 设置不同--> <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 复制到apache moudles 中。
在conf中创建mod_jk.conf 和workers.properties。
mod_jk.conf 主要定义mod_jk模块的位置以及mod_jk模块的连接日志设置,还有定义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的参数,主要是连接tomcat主机的地址和端口信息。如果Tomcat与apache不在同一台机器上,或者需要做多台机器上tomcat的负载均衡只需要更改workers.properties文件中的相应定义即可。
#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,负载均衡控制器======== 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 多个url 可以用,分割
cacheManagerPeerListenerFactory 当前tomcat
部署时,需要根据tomcat 集群监听端口 修改各自的ehcache.xml配置.
applictionContext.xml 配置
<!-- cacheManager工厂类 --> <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 ; } }
发表评论
-
spring jdbcTemplate 批量插入返回自增id
2016-03-22 00:24 2015项目中一个业务场景包含两个相互依赖的批量插入,第二次批量插入 ... -
mvn assembly package jar 无法运行
2015-04-27 20:04 781项目中要跑了一个jar工程,每天做一次数据结 ... -
SPRING INTERCEPTOR 监控 JMS 发送接受性能
2013-07-18 17:17 1596将spring aspectj 和 jms 整合了一下, ... -
SPRING JMS 发送 接受 性能监控
2013-07-18 17:13 0将spring aspectj 和 jms 整合了一下, ... -
SPRING JMS 整合ACTIVEMQ
2013-07-18 16:47 13088近日用spring3.2 jms 与activemq5.8 ... -
SLF4J jar包冲突的迷惑
2013-07-14 12:42 1489Running com.cn.ld.modules.jms.J ... -
SLF4J jar包冲突的迷惑
2013-07-14 12:42 0Running com.cn.ld.modules.jms.J ... -
springmvc 整合apache tiles
2013-06-15 23:36 9102最近把springmvc3.2.0 和 apache t ... -
springmvc3.2 demo
2013-06-15 23:28 107471:mvn 构建一个web工程 [img] [/img] r ... -
spring jms 异步接受消息
2013-05-22 21:46 24spring jms 的监听器是可配置的,而且通常会交 ... -
Spring Multipart上传
2013-03-18 11:53 11591:在application.xml中初始化CommonsM ... -
@Value 注解
2013-03-13 15:43 1321:在application。xml文件中配置属性文件加载be ... -
spring 事务隔离 与 传播
2012-07-15 21:18 10071) PROPAGATION_REQUIRED ,默认的spr ... -
AXIS2 与SSH 集成 事物代理不可用
2012-05-28 18:42 21132012-5-28 18:17: ... -
spring缓存 ehcache
2012-03-07 10:49 1619ehcache 与spring集成实现简单 ... -
ssh+birt
2011-12-02 12:00 3317新公司工作一年多,接触最多的就是统计,当然用于统计数据展示的b ... -
java,spring,aspectj
2011-11-16 19:39 1196最近要项目有个新需求,统计查询的接口要进行 ...
相关推荐
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....