JEECMS3.2-final 学习笔记
一、启动:
二、缓存:
缓存是通过Encache来实现的,Encache主页
http://ehcache.org/,指引文档:
http://ehcache.org/EhcacheUserGuide.html
1.定义encache配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd">
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
diskSpoolBufferSizeMB="30"
maxElementsOnDisk="10000000"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
/>
<cache name="com.jeecms.core.page.Homepage"
maxElementsInMemory="3"
eternal="false"
timeToIdleSeconds="7200"
timeToLiveSeconds="8640"
overflowToDisk="true"
diskSpoolBufferSizeMB="30"
maxElementsOnDisk="30"
diskPersistent="true"
/>
<cache name="com.jeecms.core.page.Channel"
maxElementsInMemory="20"
eternal="false"
timeToIdleSeconds="7200"
timeToLiveSeconds="8640"
overflowToDisk="true"
diskSpoolBufferSizeMB="30"
maxElementsOnDisk="200"
diskPersistent="true"
/>
<cache name="com.jeecms.core.entity.Website.DOMAIN2ID"
maxElementsInMemory="3000"
eternal="true"
overflowToDisk="true"
/>
<cache name="com.jeecms.core.entity.Website.Alias2DOMAIN"
maxElementsInMemory="10000"
eternal="true"
overflowToDisk="true"
/>
<cache name="com.jeecms.core.entity.User.LOGINNAME2ID"
maxElementsInMemory="3000"
eternal="false"
timeToIdleSeconds="3600"
timeToLiveSeconds="7200"
overflowToDisk="false"
/>
<cache name="com.jeecms.core.CommonId"
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="3600"
timeToLiveSeconds="7200"
overflowToDisk="false"
/>
</ehcache>
2.与spring整合:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"
>
<!--缓存-->
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation">
<value>classpath:ehcache-application.xml</value>
</property>
<!--
<property name="shared">
<value>true</value>
</property>
-->
</bean>
<!--首页缓存-->
<bean id="homepageCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager"/>
</property>
<property name="cacheName">
<value>com.jeecms.core.page.Homepage</value>
</property>
<qualifier value="homepage"/>
</bean>
<!--栏目页缓存-->
<bean id="channelCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager"/>
</property>
<property name="cacheName">
<value>com.jeecms.core.page.Channel</value>
</property>
<qualifier value="channel"/>
</bean>
<!--域名缓存-->
<bean id="websiteDomainCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager"/>
</property>
<property name="cacheName">
<value>com.jeecms.core.entity.Website.DOMAIN2ID</value>
</property>
<!-- 指定注入bean的名称 -->
<qualifier value="websiteDomain"/>
</bean>
<!--域名别名缓存-->
<bean id="websiteAliasCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager"/>
</property>
<property name="cacheName">
<value>com.jeecms.core.entity.Website.Alias2DOMAIN</value>
</property>
<qualifier value="websiteAlias"/>
</bean>
<!--统一用户登录名缓存-->
<bean id="userLoginNameCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager"/>
</property>
<property name="cacheName">
<value>com.jeecms.core.entity.User.LOGINNAME2ID</value>
</property>
<qualifier value="userLoginName"/>
</bean>
<!--通用ID缓存-->
<bean id="commonIdCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager"/>
</property>
<property name="cacheName">
<value>com.jeecms.core.CommonId</value>
</property>
<qualifier value="commonId"/>
</bean>
</beans>
3.注入到service
@Service
public class HomepageCacheSvcImpl implements HomepageCacheSvc {
public void put(Serializable key, byte[] bytes) {
homepageCache.put(new Element(key, bytes));
}
public byte[] get(Serializable key) {
Element e = homepageCache.get(key);
if (e != null) {
return (byte[]) e.getValue();
} else {
return null;
}
}
public boolean remove(Long webId) {
return homepageCache.remove(webId);
}
@Autowired
public void setHomepageCache(@Qualifier("homepage") Cache homepageCache) {
this.homepageCache = homepageCache;
}
private Cache homepageCache;
}
分享到:
相关推荐
【CMS程序】JEECMS 2.3.2 Final 是一款基于Java技术和JSP的开源内容管理系统,适用于构建企业网站、新闻门户等电子商务平台。这个系统版本为2.3.2,标记为Final,意味着它是该版本的最终稳定版,为用户提供了可靠且...
对于想要学习和使用Jeecms 9.2-adminVue的开发者,可以通过官方文档、社区论坛以及在线教程获取帮助。同时,可以参考《基于Java的门户网站管理系统——JEECMS源码版的搭建步骤》等文章,了解详细的搭建流程和技巧。...
《Jeecms 2.3.2-Final 在 Oracle 数据库中的建库脚本转换详解》 Jeecms,一个成熟的Java内容管理系统,通常与MySQL数据库配合使用。然而,在某些特定场景下,用户可能需要将数据库环境从MySQL切换到Oracle。本文将...
jeecms-db-3.0.4-final.sql
Jeecms是一款基于Java技术的企业级内容管理系统,其3.1.1.final版本提供了丰富的功能和高度可定制性,适合企业进行网站建设和管理。MyEclipse作为一款强大的Java集成开发环境,是许多开发者进行Java项目开发的首选...
通过分析Jeecms-2.4.2-final-src源码,开发者可以深入理解Java EE开发的最佳实践,学习如何整合Spring、Hibernate等框架,以及如何设计和实现一个高效的内容管理系统。这对于提升Java Web开发技能,特别是对企业级...
五、面向未来的过渡,JEECMS v2.3.2 Final版是JEECMS面世以来发布的第一个正式版本,具有更大的灵活性和稳定性;-一、系统内核完全开源,为用户提供透明的管理平台,为java初学者提供良好的学习平台; 二、核心模板...
3. **配置数据库**:根据你的数据库类型,配置jeecms-system.properties文件中的数据库连接信息。 4. **运行安装脚本**:使用数据库管理工具(如MySQL的phpMyAdmin)运行Jeecms提供的SQL脚本,创建数据库和表结构。 ...
JEECMS是JavaEE版网站管理系统 (Java Enterprise Edition Content Manage System)的简称。 · 基于java技术开发,继承其强大、稳定、安全、高效、跨平台等多方面的优点 · 采用SpringMVC3+Spring3+Hibernate3+...
总结来说,JEECMS 2.3.2 Final 是一个基于Java的成熟CMS解决方案,它的源代码提供了深入学习和自定义开发的机会。无论是对企业级开发者还是个人学习者,都能从中获益匪浅,提升自己的技能并实现高效的内容管理。
JEECMS是JavaEE版网站管理系统(Java Enterprise Edition Content Manage System)的简称。 基于java技术开发,继承其强大、稳定、安全、高效、跨平台等多方面的优点 采用hibernate3+struts2+spring2+freemarker...
3. **jeecms-3.0.2-final-src**: 这是JEECMS v3.0.2的核心源代码包。其中包含了项目的所有Java源代码、配置文件、资源文件等,开发者可以通过查看和理解这些代码来学习JEECMS的工作原理。 **四、主要模块解析** - *...
《Jeecms6.1全功能源码解析与深度探讨》 Jeecms6.1是一款基于Java技术的开源内容管理系统,由"Certainvgr"提供的"jeecms6-src.zip"压缩包,包含了该系统的完整源代码,是开发者深入理解和定制Jeecms的理想资源。在...
它的源码包"jeecms5.1-src.zip"包含了整个系统的所有源代码,是学习和二次开发的理想资源。Jeecms的核心设计理念在于易用性和灵活性,它允许开发者快速构建功能丰富的网站,并且支持多种定制化需求。 一、Jeecms的...
这是jeecms-3.0.4-fina的安装文件,希望对朋友们有所帮助。
jeecms完整全功能版——源代码,压缩包3,去掉后最gz,配合压缩包1解压。
"jeecms-3.1.1-final-src.zip"和"jeecms-3.1.1-final.zip"可能分别包含了源代码和编译后的二进制文件。源代码对于开发者来说尤其重要,因为它允许深入理解系统的内部工作原理,方便进行定制和二次开发。使用教程通常...
《Jeecms-2012:深入了解企业级内容管理系统》 Jeecms-2012是一款在2012年推出的基于Java技术的企业级内容管理系统...对于Java开发者来说,学习和掌握Jeecms-2012不仅可以提升项目开发效率,也有助于拓宽技术视野。
这个压缩包“jeecms-2012.rar”可能包含了该系统的所有源代码、配置文件、数据库脚本、文档以及必要的运行库,使得用户能够下载并部署到自己的服务器上,用于构建网站或内容管理平台。 Java技术是Jeecms的基础,它...