Apache的集群配置略
假设两台电脑的IP分别为10.5.23.100和10.5.23.25。我们这里使用JBoss的default目录。
一:
将如下文件从%JBoss_Home%\server\all\lib里面拷到%JBoss_Home%\server\default\lib目录下:
jbossha.jar(加载org.jboss.ha.framework.server.ClusterPartition)
jgroups.jar(JBoss集群底层通信协议)
二:
编辑10.5.23.100的%JBoss_Home%\server\default\deploy\jboss-web.deployer\server.xml如下
<Engine name="jboss.web" defaultHost="localhost">
为
<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">
其中node1要跟apache的workers.properties对应
三:
使用JBoss的TreeCacheAop
见10.5.23.100的%JBoss_Home%\server\default\deploy\jboss-web-cluster.sar\META-INF\的jboss-service.xml
四:使用JBoss的TreeCache作为Hibernate的二级缓存
在Hibernate.xml中配置二级缓存为jboss cache
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.OptimisticTreeCacheProvider</prop>
<prop key="hibernate.cache.provider_configuration_file_resource_path">config/jboss-cache.xml</prop>
<prop key="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</prop>
POJO 中
Object Cache:@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
如果有关联集合,也要放到Cache中
Query Cache:setCacheable(true);
五:
工程项目的web.xml中加入如下代码
<distributable/>
六:按Session进行同步
Jboss-web.xml
<jboss-web>
<replication-config>
<replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
<replication-granularity>SESSION</replication-granularity>
</replication-config>
</jboss-web>
七:获得JBoss Mbean来操作caceh
Application Cluster Cache:
TreeCahceAop:AISCache. getApplicationCacheInstance();
Hibernate Cluster Cache:
TreeCache:AISCache. getHibernateCacheInstance();
假设两台电脑的IP分别为10.5.23.100和10.5.23.25。我们这里使用JBoss的default目录。
一:
将如下文件从%JBoss_Home%\server\all\lib里面拷到%JBoss_Home%\server\default\lib目录下:
jbossha.jar(加载org.jboss.ha.framework.server.ClusterPartition)
jgroups.jar(JBoss集群底层通信协议)
二:
编辑10.5.23.100的%JBoss_Home%\server\default\deploy\jboss-web.deployer\server.xml如下
<Engine name="jboss.web" defaultHost="localhost">
为
<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">
其中node1要跟apache的workers.properties对应
三:
使用JBoss的TreeCacheAop
见10.5.23.100的%JBoss_Home%\server\default\deploy\jboss-web-cluster.sar\META-INF\的jboss-service.xml
四:使用JBoss的TreeCache作为Hibernate的二级缓存
在Hibernate.xml中配置二级缓存为jboss cache
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.OptimisticTreeCacheProvider</prop>
<prop key="hibernate.cache.provider_configuration_file_resource_path">config/jboss-cache.xml</prop>
<prop key="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</prop>
POJO 中
Object Cache:@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
如果有关联集合,也要放到Cache中
Query Cache:setCacheable(true);
五:
工程项目的web.xml中加入如下代码
<distributable/>
六:按Session进行同步
Jboss-web.xml
<jboss-web>
<replication-config>
<replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
<replication-granularity>SESSION</replication-granularity>
</replication-config>
</jboss-web>
七:获得JBoss Mbean来操作caceh
Application Cluster Cache:
TreeCahceAop:AISCache. getApplicationCacheInstance();
Hibernate Cluster Cache:
TreeCache:AISCache. getHibernateCacheInstance();