ehcache注解全面解析
<?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:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:osgi="http://www.springframework.org/schema/osgi"
xmlns:ehcache="http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi-1.2.xsd
http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring/ehcache-spring-1.1.xsd"> <context:component-scan
base-package="com.mpr.mprsp.mcrc.service.mcrs.precedencecode" />
<!-- ehcache config Start -->
<ehcache:annotation-driven />
<ehcache:config cache-manager="cacheManager">
<ehcache:evict-expired-elements
interval="60" />
</ehcache:config>
<bean id="cacheManager"
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="osgibundlejar:/META-INF/ehcache/ehcache.xml" />
</bean>
<!-- ehcache config End --> <tx:annotation-driven transaction-manager="txManager" /> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory" />
</bean> <!-- 定时任务开始 -->
<!-- 线程执行器配置,用于任务注册 -->
<bean id="executor"
class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<property name="corePoolSize" value="10" />
<property name="maxPoolSize" value="100" />
<property name="queueCapacity" value="500" />
</bean> <!-- 业务对象 -->
<bean id="timerTask"
class="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.internal.TimerTask" /> <!-- 调度业务 update by wangtao 20130715 -->
<bean id="jobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="timerTask" />
<property name="targetMethod" value="serviceTimerTask" />
</bean> <!-- 测试 -->
<bean id="taskTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="jobDetail" />
<!-- 延迟10秒启动 -->
<property name="startDelay" value="10000" />
<!-- 每隔20秒执行一次 -->
<property name="repeatInterval" value="20000" />
</bean> <!-- 增加调度触发器 -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobDetail" />
<!-- 每天晚上11点触发 -->
<property name="cronExpression" value="0 0 23 * * ?" />
</bean> <!-- 增加调度触发器 add by wangtao 20130715 -->
<bean id="autoApplyCodeCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobDetail" />
<!-- 每天中午12点触发 -->
<property name="cronExpression" value="0 0 12 * * ?" />
</bean> <!-- 设置调度 update by wangtao 20130715 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<!-- <ref bean="cronTrigger" /> -->
<ref bean="cronTrigger" />
</list>
</property>
<property name="taskExecutor" ref="executor" />
</bean>
<!-- 定时任务结束 --> <!-- 引入服务 -->
<!-- 引入文件服务器同步 -->
<osgi:reference id="fileSyncManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.upload.service.IFileSyncManager" />
<!-- 引入系统配置项 -->
<osgi:reference id="sysConfigManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.configuration.service.ISysConfigManager" />
<!-- 引入邮件管理 -->
<osgi:reference id="mailSendManager"
interface="com.mpr.mprsp.mcrc.email.service.IMailSendManager" />
<!-- 引入SqlSessionFactory -->
<osgi:reference id="sqlSessionFactory"
interface="org.apache.ibatis.session.SqlSessionFactory" bean-name="sqlSessionFactory" />
<!-- 引入DataSourceTransactionManager -->
<osgi:reference id="txManager"
interface="org.springframework.jdbc.datasource.DataSourceTransactionManager"
bean-name="txManager" />
<!-- 引入ParametersMapBuilder -->
<osgi:reference id="parametersMapBuilder"
interface="com.isoftstone.agiledev.core.query.mybatis.ParametersMapBuilder"
bean-name="parametersMapBuilder" /> <!-- 暴露服务 -->
<!-- 暴露MPR出版物内容类型 -->
<osgi:service ref="publicationContentTypeManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IPublicationContentTypeManager" />
<!-- 暴露语种管理 -->
<osgi:service ref="languageManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.ILanguageManager" />
<!-- 暴露码段管理 -->
<osgi:service ref="mprCodeSegmentManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IMprCodeSegmentManager" />
<!-- 暴露预警阀值 -->
<osgi:service ref="mprCodeThresholdManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IMprCodeThresholdManager" />
<!-- 暴露MPR前置码生效信息管理 -->
<osgi:service ref="caroperInfoSyncManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.ICaroperInfoSyncManager" />
<!-- 暴露MPR前置码文件管理 -->
<osgi:service ref="mprFileManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IMprFileManager" />
<!-- 暴露撤销记录管理 -->
<osgi:service ref="revocationStatsManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IRevocationStatsManager" />
<!-- 暴露废除记录管理 -->
<osgi:service ref="abolishStatsManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IAbolishStatsManager" />
<!-- 暴露图书业务管理 -->
<osgi:service ref="publicationManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IPublicationManager" />
<!-- 暴露 期刊业务管理 -->
<osgi:service ref="periodicalManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IPeriodicalManager" />
<!-- 暴露报纸业务管理 -->
<osgi:service ref="newsPaperManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.INewsPaperManager" />
<!-- 暴露音像业务管理 -->
<osgi:service ref="audioManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IAudioManager" />
<!-- 暴露(组区)MPR出版物管理 -->
<osgi:service ref="publicationAreaManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IPublicationAreaManager" />
<!-- MPR出版物视图服务类 -->
<osgi:service ref="publicationViewManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IPublicationViewManager" />
<!-- MPR 资源类 -->
<osgi:service ref="mprCodeResourceManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IMprCodeResourceManager" />
<!-- 关联关系管理 -->
<osgi:service ref="isliMprCodeRelationManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IIsliMprCodeRelationManager" /> <!-- option 下拉选框数据 -->
<osgi:service ref="optionManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IOptionManager" /> <osgi:service ref="apiPublicationService"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IApiPublicationService" /> <!-- openservice 暴露前置编码服务接口 -->
<osgi:service ref="openService"
interface="com.mpr.mprsp.mcrc.service.mcrs.precedencecode.service.IOpenService" /> <osgi:reference id="sysLogManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.system.service.ISysLogManager"/> <osgi:reference id="statsMprManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.statistics.service.IStatsMpr" />
<osgi:reference id="statsPublication"
interface="com.mpr.mprsp.mcrc.service.mcrs.statistics.service.IStatsPublication" />
<osgi:reference id="statsPublisher"
interface="com.mpr.mprsp.mcrc.service.mcrs.statistics.service.IStatsPublisher" />
<osgi:reference id="publisherGroupManager"
interface="com.mpr.mprsp.mcrc.service.mcrs.publisher.service.IPublisherGroupManager" />
</beans>
- @Cacheabele :指定方法使用缓存
- @TriggersRemove :从缓存中移除对象
@SuppressWarnings("unchecked")
@Cacheable(cacheName = "publicationsCache")
public List<PublicationViewInfo> query(PublicationViewInfoParams params)
throws Exception
@Override
@TriggersRemove(cacheName = {"publicationsCache"},
when = When.AFTER_METHOD_INVOCATION,
removeAll = true)
public int hiddenResource(Long resourceId, String publicationType,
Boolean isHidden) throws Exception {
ehcache注解全面解析的更多相关文章
- ehcache注解全面解析---打酱油的日子
通过ehcache以编程方式使用缓存: 跟上面的方式相同,但是缓存通过ehcache去管理,当然比使用map有N多种好处,比如缓存太大了快达到上限之后,将哪一部分缓存清除出去.这种方式完全是通过代码的 ...
- Java注解全面解析(转)
1.基本语法 注解定义看起来很像接口的定义.事实上,与其他任何接口一样,注解也将会编译成class文件. @Target(ElementType.Method) @Retention(Retentio ...
- Spring源码情操陶冶-AnnotationConfigBeanDefinitionParser注解配置解析器
本文承接前文Spring源码情操陶冶-自定义节点的解析,分析spring中的context:annotation-config节点如何被解析 源码概览 对BeanDefinitionParser接口的 ...
- Spring的AOP配置文件和注解实例解析
1.1 Spring的AOP配置文件和注解实例解析 AOP它利用一种称为"横切"的技术,将那些与核心业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减 ...
- 【面试加分项】java自己定义注解之解析注解
我之前的博客中说明过自己定义注解的声明今天我们来看看怎样对我们自己定义的注解进行使用. 1.我们在程序中使用我们的注解. 上一篇中我们自己定义了一个注解: @Target(ElementType.FI ...
- @Aspect 注解切面解析
注解切面解析 注解切面解析器 /** * 注解切面解析器 */ public class BeanFactoryAspectJAdvisorsBuilder { /** * Bean 工厂 */ pr ...
- RequestMapping 注解的解析、匹配、注册
RequestMapping 注解的解析.匹配.注册 1)创建 RequestMappingHandlerMapping 实例时会触发 afterPropertiesSet 调用. 2)读取容器中所有 ...
- springmvc 自定义注解 以及自定义注解的解析
1,自定义注解名字 @Target({ElementType.TYPE, ElementType.METHOD}) //类名或方法上@Retention(RetentionPolicy.RUNTI ...
- spring启动component-scan类扫描加载,以及@Resource,postConstruct等等注解的解析生效源码
spring里IOC的原理就不详细写了, 如果想要搞清楚自动扫描组件是如何实现的,还有@Resouce @PostConstruct等注解的工作原理,最好可以先搞清楚整个IOC容器的运作原理再来分析这 ...
随机推荐
- OWASP安装
下载网址:https://sourceforge.net/projects/owaspbwa/files/1.0rc2/ 下载完之后解压 解压之后 打开虚拟机 然后 虚拟机中菜单栏 文件---打开-- ...
- 2019牛客多校第五场B generator 十进制快速幂
generator 1 题意 给出\(x_0,x_1,a,b\)已知递推式\(x_i=a*x_{i-1}+b*x_{i-2}\),出个n和mod,求\(x_n\) (n特别大) 分析 比赛的时候失了智 ...
- Mike and Foam(位运算)
English reading: bartender == barmaid:酒吧女招待 milliliter:毫升:千分之一毫升 foam:泡沫 a glass of beer with a good ...
- git 卡住推不上去
luoxu@lenovo:~/testGit/.git$ env | grep -i proxy 查看有没有设置代理 ALL_PROXY=socks://127.0.0.1:1080/ no_prox ...
- 变色html css js
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...
- 排队看病(PriorityQueue自定义排序)
看病要排队这个是地球人都知道的常识. 不过经过细心的0068的观察,他发现了医院里排队还是有讲究的.0068所去的医院有三个医生(汗,这么少)同时看病.而看病的人病情有轻重,所以不能根据简单的先来先服 ...
- CAN总线冲突裁决
当总线上的几个器件同时发送数据的时候,CAN总线必须决定哪个器件可以发送,而其他的器件必须等待.冲突裁决是CAN协议最重要的一个特性. 以下图为例.总线上有器件A,B,C,D.A,B,C同时发出SOF ...
- python之路之面向对象3
一.知识点拾遗 1.多继承的易错点 二.设计模式 1.设计模式介绍 Gof设计模式 大话设计模式 2.单例模式 当所有实例中封装的数据相同时,使用单例模式 静态方法+静态字段 单例就是只有一个实例 a ...
- 在UTF-8页面中引入编码为GBK的JavaScript文件乱码问题了
原文地址:http://js8.in/2009/12/11/%E5%AF%B9%E5%BC%95%E7%94%A8%E5%A4%96%E9%83%A8javascript%E9%A1%B5%E9%9D ...
- C++-POJ3321-Apple Tree[数据结构][树状数组]
树上的单点修改+子树查询 用dfn[u]和num[u]可以把任意子树表示成一段连续区间,此时结合树状数组就好了 #include <set> #include <map> #i ...