xinyb_
2021-09-24 17c1055ac108e6bef6c2b515c58b2f9ecea0da73
提交 | 用户 | age
a6a76f 1 <?xml version="1.0" encoding="UTF-8"?>
F 2 <beans xmlns="http://www.springframework.org/schema/beans"
3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4        xmlns:tx="http://www.springframework.org/schema/tx"
5        xmlns:aop="http://www.springframework.org/schema/aop"
6        xmlns:context="http://www.springframework.org/schema/context"
7        xsi:schemaLocation="http://www.springframework.org/schema/beans
8     http://www.springframework.org/schema/beans/spring-beans.xsd
9     http://www.springframework.org/schema/tx 
10     http://www.springframework.org/schema/tx/spring-tx.xsd
11     http://www.springframework.org/schema/aop 
12     http://www.springframework.org/schema/aop/spring-aop.xsd
13     http://www.springframework.org/schema/context 
14     http://www.springframework.org/schema/context/spring-context.xsd"
15        default-lazy-init="true"
16 >
17
18     <description>Spring公共配置文件 </description>
19     <context:component-scan base-package="com.yc" />
20     <context:component-scan base-package="me.chanjar" />
21     <!-- 使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入 -->
22     <context:annotation-config />
23     
24     <!--
25         <context:property-placeholder location="classpath:jdbc.properties"/>
26     -->
27     <!-- 数据源配置,使用应用c3po数据库连接池 -->
28     <!--
29         <bean id="dataSource"
30         class="com.mchange.v2.c3p0.ComboPooledDataSource"
31         destroy-method="close"> <property name="driverClass"
32         value="${jdbc.driverClassName}"/> <property name="jdbcUrl"
33         value="${jdbc.url}"/> <property name="user" value="${jdbc.username}"/>
34         <property name="password" value="${jdbc.password}"/> <property
35         name="initialPoolSize" value="${cop3.initialPoolSize}"/> <property
36         name="minPoolSize" value="${cop3.minPoolSize}"/> <property
37         name="maxPoolSize" value="${cop3.maxPoolSize}"/> <property
38         name="acquireIncrement" value="${cop3.acquireIncrement}"/> <property
39         name="maxIdleTime" value="${cop3.maxIdleTime}"/> <property
40         name="idleConnectionTestPeriod"
41         value="${cop3.idleConnectionTestPeriod}"/> <property
42         name="maxStatements" value="${cop3.maxStatements}"/> </bean>
43     -->
44     <!--
45         dbcp连接池 <bean id="dataSource"
46         class="org.apache.commons.dbcp.BasicDataSource"
47         destroy-method="close"> <property name="driverClassName"
48         value="${jdbc.driverClassName}" /> <property name="url"
49         value="${jdbc.url}" /> <property name="username"
50         value="${jdbc.username}" /> <property name="password"
51         value="${jdbc.password}" /> <property name="maxActive"
52         value="${jdbc.maxActive}" /> <property name="maxIdle"
53         value="${jdbc.maxIdle}" /> <property name="maxWait"
54         value="${jdbc.maxWait}" /> <property name="defaultAutoCommit"
55         value="${jdbc.defaultAutoCommit}"/> <property name="removeAbandoned"
56         value="${jdbc.removeAbandoned}"/> <property
57         name="removeAbandonedTimeout" value="${jdbc.removeAbandonedTimeout}"/>
58         <property name="logAbandoned" value="${jdbc.logAbandoned}"/> </bean>
59     -->
60     <!--
61         ****************************代理connection用当前线程记录执行sql配置start**********************************
62     -->
63     <!--配置统一数据源,将来系统中使用的数据源将从他当中获取-->
64     <bean id="multiDataSource" class="com.yc.multiData.MultiDataSource"></bean>
65     <!--封装dataSource 对当前线程所执行的sql进行记录-->
66     <bean id="dataSource" class="com.yc.dataAccess.YCDataSource">
67         <constructor-arg name="dataSource">
68             <ref bean="multiDataSource" />
69         </constructor-arg>
70     </bean>
71     <!--
72         ****************************记录执行sql配置end**********************************
73     -->
74     <!--
75         ****************************不使用代理connection(不记录执行sql配置start)**********************************
76     -->
77     <!--
78         ****************************不记录执行sql配置end**********************************
79     -->
80     <!-- 配置defaultLobHandler -->
81     <bean id="defaultLobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler"
82         lazy-init="true" />
83     <!-- 基本的JDBC操作类,在server层直接引用就可以使用 -->
84     <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
85         <constructor-arg name="dataSource">
86             <ref bean="dataSource" />
87         </constructor-arg>
88     </bean>
89     <!-- 提供用javaBean作为对象进行参数传递给jdbc使用,在server层直接引用就可以使用 -->
90     <bean id="simpleJdbcInsert" class="org.springframework.jdbc.core.simple.SimpleJdbcInsert">
91         <constructor-arg name="dataSource">
92             <ref bean="dataSource" />
93         </constructor-arg>
94     </bean>
95     <!-- 提供用命令参数进行参数传递给jdbc使用,在server层直接引用就可以使用 -->
96     <bean id="namedParameterJdbcTemplate"
97         class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
98         <constructor-arg name="dataSource">
99             <ref bean="dataSource" />
100         </constructor-arg>
101     </bean>
102     <!-- 提供调用存储过程功能给jdbc使用,在server层直接引用就可以使用 -->
103     <bean id="simpleJdbcCall" class="org.springframework.jdbc.core.simple.SimpleJdbcCall">
104         <constructor-arg name="dataSource">
105             <ref bean="dataSource" />
106         </constructor-arg>
107     </bean>
108     <!--19类型存储过程调用-->
109     <bean id="simpleJdbcCallByProc" class="org.springframework.jdbc.core.simple.SimpleJdbcCall">
110         <constructor-arg name="dataSource">
111             <ref bean="dataSource" />
112         </constructor-arg>
113     </bean>
114     <bean id="simpleJdbcCallShopping" class="org.springframework.jdbc.core.simple.SimpleJdbcCall"  scope="prototype">
115         <constructor-arg name="dataSource">
116             <ref bean="dataSource" />
117         </constructor-arg>
118     </bean>
119     <!-- 事务管理 -->
120     <bean id="transactionManager"
121         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
122         <property name="dataSource">
123             <ref bean="dataSource" />
124         </property>
125     </bean>
126     <!-- 定义事务通知-->
127     <tx:advice id="txAdvice" transaction-manager="transactionManager">
128         <tx:attributes>
129             <tx:method name="save*" propagation="REQUIRED" rollback-for="Exception"/>
130             <tx:method name="new*" propagation="REQUIRED" rollback-for="Exception"/>
131             <tx:method name="add*" propagation="REQUIRED" rollback-for="Exception"/>
132             <tx:method name="update*" propagation="REQUIRED" rollback-for="Exception"/>
133             <tx:method name="create*" propagation="REQUIRED" rollback-for="Exception"/>
134             <tx:method name="change*" propagation="REQUIRED" rollback-for="Exception"/>
135             <tx:method name="del*" propagation="REQUIRED" rollback-for="Exception"/>
136             <tx:method name="do*" propagation="REQUIRED" rollback-for="Exception"/>
137             <tx:method name="addErrorLog" propagation="NOT_SUPPORTED" />
138             <tx:method name="excelRecord" propagation="NOT_SUPPORTED" />
139             <tx:method name="*" propagation="SUPPORTS" read-only="true" />    
140         </tx:attributes>
141     </tx:advice>
142     <!-- 事物,日志(拦截service包的所有执行sql函数对执行sql报错的保存到数据库)AOP配置-->
143     <aop:config>
144         <aop:pointcut id="bizMethods"
17c105 145                       expression="execution(* com.yc.service..*.*(..)) or execution(* com.yc.sdk.shopping.service..*.*(..))  or execution(* com.yc.sdk.weixincp.service..*.*(..))  or execution(* com.yc.sdk.weixinmp.service..*.*(..)) or execution(* com.yc.api.service..*.*(..)) or execution(* com.yc.ionic.service..*.*(..))  or execution(* com.yc.sdk.oauth2.service..*.*(..)) or execution(* com.yc.im.service..*.*(..)) or execution(* com.yc.batchUpload.service..*.*(..)) " />
a6a76f 146         <aop:pointcut id="logger"
17c105 147                       expression="(execution(* com.yc.service..*.*(..)) or execution(* com.yc.sdk.shopping.service..*.*(..))  or execution(* com.yc.sdk.weixincp.service..*.*(..))  or execution(* com.yc.sdk.weixinmp.service..*.*(..)) or execution(* com.yc.api.service..*.*(..)) or execution(* com.yc.ionic.service..*.*(..))  or execution(* com.yc.sdk.oauth2.service..*.*(..)) or execution(* com.yc.im.service..*.*(..)) or execution(* com.yc.batchUpload.service..*.*(..))  ) and !execution(* com.yc.service.log.ErrorLogImpl.*(..))" />
a6a76f 148         <aop:advisor advice-ref="txAdvice" pointcut-ref="bizMethods" />
F 149         <aop:aspect id="loggerAspect" ref="genericLoggerBean">
150             <aop:around pointcut-ref="logger" method="invoke" />
151         </aop:aspect>
152     </aop:config>
153     <!-- 事物,日志AOP配置-->
154     <!-- 事物,不进行日志AOP配置-->
155     <!--
156         <aop:config> <aop:pointcut id="bizMethods" expression="execution(*
157         com.yc.service..*.*(..))" /> <aop:advisor advice-ref="txAdvice"
158         pointcut-ref="bizMethods" /> </aop:config>
159     -->
160     <!-- 事物,不进行日志AOP配置-->
161     <bean id="genericLoggerBean" class="com.yc.log.ErrorLoggerBean"></bean>
162     <!-- 使用annotation定义事务 -->
163     <tx:annotation-driven />
164     <!--
165         ****************************国际化**********************************
166     -->
167     <!-- 这个 bean的id是规定死的,只能为messageSource -->
168     <bean id="messageSource"
169         class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
170         <property name="basenames">
171             <list>
172                 <value>messageSource/messages</value>
173             </list>
174         </property>
175     </bean>
176     <!--
177         ****************************国际化**********************************
178     -->
179     <!--
180         ****************************检查空间 和 数据库文件 的调度计划start**********************************
181     -->
182
183
184     <bean id="spaceCheckJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
185         <property name="jobClass">
186             <value>com.yc.schedule.SpaceCheckQuartzJob
187             </value>
188         </property>
189     </bean>
190     <!-- 调度计划触发器 -->
191     <bean id="spaceCheckSimpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
192         <property name="jobDetail">
193             <ref bean="spaceCheckJobDetail" />
194         </property>
195         <property name="startDelay">
196             <value>50000</value>  <!-- 启动服务器50秒后执行第一次 -->
197         </property>
198         <property name="repeatInterval">
199             <value>86400000</value><!-- 每24小时后执行一次 -->
200         </property>
201     </bean>
202     <bean id="spaceCheckCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
203         <property name="jobDetail">
204             <ref bean="spaceCheckJobDetail" />
205         </property>
206         <property name="cronExpression">
207             <!-- 每天早上6点执行 -->
208             <value>0 0 6 * * ?</value>  <!-- 1秒 2分钟 3小时 4月份中的日期 5月份 6星期中的日期 7年份  -->
209         </property>
210     </bean>
211     <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
212         <property name="triggers">
213             <list>
214                 <ref bean="spaceCheckCronTrigger" />
215             </list>
216         </property>
217     </bean>
218
219     <!--
220         ****************************检查空间 和 数据库文件 的调度计划end**********************************-->
221
222 <!--    -->
223 <!--&lt;!&ndash; 热更新  开始 &ndash;&gt;                        -->
224 <!--     <bean id="chcpJobDetails" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">-->
225 <!--        <property name="jobClass">-->
226 <!--            <value>com.yc.ionic.schedule.ChcpTimer</value>-->
227 <!--        </property>-->
228 <!--          <property name="jobDataAsMap">  -->
229 <!--            <dataResult>  -->
230 <!--                &lt;!&ndash; 非spring管理的service放到这里,就可以注入进去 &ndash;&gt;  -->
231 <!--                <description>jobDataAsMap</description>  -->
232 <!--                &lt;!&ndash; key 属性值,value 对应的bean &ndash;&gt;  -->
233 <!--                <entry key="DemoInfoImpl" value-ref="demo" />                 -->
234 <!--            </dataResult>  -->
235 <!--        </property>  -->
236 <!--    </bean>-->
237 <!--    -->
238 <!--    <bean id="chcpSimpleTriggers" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">-->
239 <!--        <property name="jobDetail">-->
240 <!--            <ref bean="chcpJobDetails"/>-->
241 <!--        </property>-->
242 <!--        <property name="startDelay">-->
243 <!--            <value>6000000000000</value>  &lt;!&ndash; 启动服务器1分钟后执行 &ndash;&gt;-->
244 <!--        </property>-->
245 <!--        <property name="repeatInterval">-->
246 <!--            <value>6000000000000</value>  &lt;!&ndash; 每1分钟执行一次 &ndash;&gt;-->
247 <!--        </property>-->
248 <!--    </bean>-->
249 <!--    -->
250 <!--    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">-->
251 <!--        <property name="triggers">-->
252 <!--            <list>-->
253 <!--                <ref bean="chcpSimpleTriggers" />-->
254 <!--            </list>-->
255 <!--        </property>        -->
256 <!--    </bean>-->
257 <!--    &lt;!&ndash; 热更新  结束&ndash;&gt;         -->
258
259 <!--    &lt;!&ndash;-->
260 <!--        ****************************邮件 的调度计划开始**********************************&ndash;&gt;-->
261 <!--    &lt;!&ndash;邮件调度计划触发器 &ndash;&gt;                        -->
262 <!--     <bean id="mailJobDetaily" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">-->
263 <!--        <property name="jobClass">-->
264 <!--            <value>com.yc.action.mail.action.SendMail</value>-->
265 <!--        </property>-->
266 <!--        -->
267 <!--          <property name="jobDataAsMap">  -->
268 <!--            <dataResult>  -->
269 <!--                &lt;!&ndash; 非spring管理的service放到这里,就可以注入进去 &ndash;&gt;  -->
270 <!--                <description>jobDataAsMap</description>  -->
271 <!--                &lt;!&ndash; key 属性值,value 对应的bean &ndash;&gt;  -->
272 <!--                <entry key="OtherMailImpl" value-ref="OtherMailImpl" />                       -->
273 <!--            </dataResult>  -->
274 <!--        </property>  -->
275 <!--    </bean>-->
276 <!--    &lt;!&ndash; 启动服务设置触发邮件功能时间 &ndash;&gt;-->
277 <!--    <bean id="mailSimpleTriggery" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">-->
278 <!--        <property name="jobDetail">-->
279 <!--            <ref bean="mailJobDetaily"/>-->
280 <!--        </property>-->
281 <!--        <property name="startDelay">-->
282 <!--            <value>300000000</value>  &lt;!&ndash; 启动服务器2秒后执行第一次 &ndash;&gt;-->
283 <!--        </property>-->
284 <!--        <property name="repeatInterval">-->
285 <!--            <value>120000000</value>&lt;!&ndash; 每24小时后执行一次 86400000&ndash;&gt;-->
286 <!--        </property>-->
287 <!--    </bean>-->
288 <!--    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">-->
289 <!--        <property name="triggers">-->
290 <!--            <list>-->
291 <!--                <ref bean="mailSimpleTriggery" />-->
292 <!--            </list>-->
293 <!--        </property>        -->
294 <!--    </bean>-->
295
296 <!--    &lt;!&ndash;  ******************自动发送微信企业号消息    调度计划 start ************** &ndash;&gt;-->
297 <!--    <bean id="sendWeiXinMsgJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">-->
298 <!--        <property name="jobClass">-->
299 <!--            <value>com.yc.sdk.weixincp.action.SendWeiXinMsgTimer</value>-->
300 <!--        </property>-->
301 <!--    </bean>-->
302 <!--    &lt;!&ndash; 调度计划触发器 &ndash;&gt;-->
303 <!--    <bean id="sendWeiXinMsgTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">-->
304 <!--        <property name="jobDetail">-->
305 <!--            <ref bean="sendWeiXinMsgJobDetail" />-->
306 <!--        </property>-->
307 <!--        <property name="startDelay">-->
308 <!--            <value>15000000000</value>  &lt;!&ndash; 启动服务器30秒后执行第一次   15000 &ndash;&gt;-->
309 <!--        </property>-->
310 <!--        <property name="repeatInterval">-->
311 <!--            <value>30000000000</value>&lt;!&ndash; 每30秒执行一次  30000  ,每天是 86400000 秒 &ndash;&gt;-->
312 <!--        </property>-->
313 <!--    </bean>-->
314 <!--    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">-->
315 <!--        <property name="triggers">-->
316 <!--            <list>-->
317 <!--                <ref bean="sendWeiXinMsgTrigger" />-->
318 <!--            </list>-->
319 <!--        </property>        -->
320 <!--    </bean>-->
321 <!--   &lt;!&ndash;  ******************自动发送微信企业号消息    调度计划 end ************** &ndash;&gt;-->
322 <!--   -->
323 <!--    &lt;!&ndash;  ******************自动发送微信公众号模板消息    调度计划 start ************** &ndash;&gt;-->
324 <!--    &lt;!&ndash; -->
325 <!--    <bean id="sendTemplateMsgJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">-->
326 <!--        <property name="jobClass">-->
327 <!--            <value>com.yc.sdk.weixinmp.action.SendTemplateMsgTimer</value>-->
328 <!--        </property>-->
329 <!--    </bean>-->
330 <!--    <bean id="sendTemplateMsgTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">-->
331 <!--        <property name="jobDetail">-->
332 <!--            <ref bean="sendTemplateMsgJobDetail" />-->
333 <!--        </property>-->
334 <!--        <property name="startDelay">-->
335 <!--            <value>15000</value>  -->
336 <!--        </property>-->
337 <!--        <property name="repeatInterval">-->
338 <!--            <value>30000</value>-->
339 <!--        </property>-->
340 <!--    </bean>-->
341 <!--    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">-->
342 <!--        <property name="triggers">-->
343 <!--            <list>-->
344 <!--                <ref bean="sendTemplateMsgTrigger" />-->
345 <!--            </list>-->
346 <!--        </property>        -->
347 <!--    </bean>-->
348 <!--     &ndash;&gt;-->
349 <!--   &lt;!&ndash;  ******************自动发送微信公众号模板消息    调度计划 end ************** &ndash;&gt;  -->
350 <!--    -->
351 <!--    -->
352 <!--    &lt;!&ndash;  ******************自动发送微信小程序模板消息    调度计划 start ************** &ndash;&gt;-->
353 <!--    &lt;!&ndash; -->
354 <!--    <bean id="sendMaTemplateMsgJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">-->
355 <!--        <property name="jobClass">-->
356 <!--            <value>com.yc.sdk.miniapp.action.MaSendTemplateMsgTimer</value>-->
357 <!--        </property>-->
358 <!--    </bean>-->
359 <!--    <bean id="sendMaTemplateMsgTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">-->
360 <!--        <property name="jobDetail">-->
361 <!--            <ref bean="sendMaTemplateMsgJobDetail" />-->
362 <!--        </property>-->
363 <!--        <property name="startDelay">-->
364 <!--            <value>15000</value>  -->
365 <!--        </property>-->
366 <!--        <property name="repeatInterval">-->
367 <!--            <value>30000</value>-->
368 <!--        </property>-->
369 <!--    </bean>-->
370 <!--    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">-->
371 <!--        <property name="triggers">-->
372 <!--            <list>-->
373 <!--                <ref bean="sendMaTemplateMsgTrigger" />-->
374 <!--            </list>-->
375 <!--        </property>        -->
376 <!--    </bean>-->
377 <!--     &ndash;&gt;-->
378 <!--   &lt;!&ndash;  ******************自动发送微信小程序模板消息    调度计划 end ************** &ndash;&gt;      -->
379 <!--   -->
380 <!--    &lt;!&ndash; 每日检查用户密码是否过期 &ndash;&gt;-->
381 <!--    <bean id="chcekPasswordHasExpiredTimerDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">-->
382 <!--        <property name="jobClass">-->
383 <!--            <value>com.yc.sdk.password.action.ChcekPasswordHasExpiredTimer</value>-->
384 <!--        </property>-->
385 <!--    </bean>    -->
386 <!--    <bean id="chcekPasswordHasExpiredTimerTriggers" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">-->
387 <!--        <property name="jobDetail">-->
388 <!--            <ref bean="chcekPasswordHasExpiredTimerDetail" />-->
389 <!--        </property>-->
390 <!--        <property name="cronExpression">-->
391 <!--            &lt;!&ndash; 每天23点30执行 &ndash;&gt;-->
392 <!--            <value>0 30 23 * * ?</value>  &lt;!&ndash; 1秒 2分钟 3小时 4月份中的日期 5月份 6星期中的日期 7年份  &ndash;&gt;-->
393 <!--        </property>-->
394 <!--    </bean>-->
395 <!--    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">-->
396 <!--        <property name="triggers">-->
397 <!--            <list>-->
398 <!--                <ref bean="chcekPasswordHasExpiredTimerTriggers" />-->
399 <!--            </list>-->
400 <!--        </property>        -->
401 <!--    </bean>    -->
402 <!--    &lt;!&ndash; 结束每日检查用户密码是否过期 &ndash;&gt;-->
403
404
405 <!--    &lt;!&ndash;  ******************每年度12月 1号, 10号,20号,24,25,30,31号    创建新的年度会计期间 start ************** &ndash;&gt;-->
406 <!--    <bean id="createYearPeriodIdTimerDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">-->
407 <!--        <property name="jobClass">-->
408 <!--            <value>com.yc.action.periodid.CreateYearPeriodIdTimer</value>-->
409 <!--        </property>-->
410 <!--    </bean>-->
411 <!--    &lt;!&ndash; 调度计划触发器 &ndash;&gt;-->
412 <!--    <bean id="createYearPeriodIdTimerTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">-->
413 <!--        <property name="jobDetail">-->
414 <!--            <ref bean="createYearPeriodIdTimerDetail" />-->
415 <!--        </property>-->
416 <!--        <property name="cronExpression">-->
417 <!--            &lt;!&ndash; 每年度12月 1号, 10号,20号,30,31号 22点10执行 &ndash;&gt;-->
418 <!--            <value>0 10 22 1,10,20,24,25,30,31 12 ? *</value>  &lt;!&ndash; 0 10 22 1,10,20,24,25,30,31 12 ? * , 1秒 2分钟 3小时 4月份中的日期 5月份 6星期中的日期 7年份  &ndash;&gt;-->
419 <!--        </property>-->
420 <!--    </bean>-->
421 <!--    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">-->
422 <!--        <property name="triggers">-->
423 <!--            <list>-->
424 <!--                <ref bean="createYearPeriodIdTimerTrigger" />-->
425 <!--            </list>-->
426 <!--        </property>        -->
427 <!--    </bean>-->
428 <!--   &lt;!&ndash;  ******************每年度12月 1号, 10号,20号,30,31号    创建新的年度会计期间 end ************** &ndash;&gt;-->
429
430 <!--    &lt;!&ndash;  ******************每月 24号,25号,27号,28号,30,31号系统自动尝试打开下个月的会计期间 start ************** &ndash;&gt;-->
431 <!--    <bean id="openPeriodIdTimerDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">-->
432 <!--        <property name="jobClass">-->
433 <!--            <value>com.yc.action.periodid.OpenPeriodIdTimer</value>-->
434 <!--        </property>-->
435 <!--    </bean>-->
436 <!--    &lt;!&ndash; 调度计划触发器 &ndash;&gt;-->
437 <!--    <bean id="openPeriodIdTimerTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">-->
438 <!--        <property name="jobDetail">-->
439 <!--            <ref bean="openPeriodIdTimerDetail" />-->
440 <!--        </property>-->
441 <!--        <property name="cronExpression">-->
442 <!--            &lt;!&ndash; 每月 24,25, 26,28,30,31号 23点15执行 &ndash;&gt;-->
443 <!--            <value>0 15 23 24,25,27,28,30,31 * ? *</value>  &lt;!&ndash; 0 15 23 24,25,27,28,30,31 * ? * 1秒 2分钟 3小时 4月份中的日期 5月份 6星期中的日期 7年份  &ndash;&gt;-->
444 <!--        </property>-->
445 <!--    </bean>-->
446 <!--    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">-->
447 <!--        <property name="triggers">-->
448 <!--            <list>-->
449 <!--                <ref bean="openPeriodIdTimerTrigger" />-->
450 <!--            </list>-->
451 <!--        </property>        -->
452 <!--    </bean>-->
453 <!--   &lt;!&ndash;  ******************每月 24号,25号,27号,28号,30,31号系统自动尝试打开下个月的会计期间  end ************** &ndash;&gt;-->
454 <!--       -->
455 <!--       -->
456 <!--    &lt;!&ndash;  ******************自动拉取直播房间信息   调度计划 start, 每天8:00-23:00 ,每20秒执行一次, " 10/20 * 8-23 * * ? * ",  1秒 2分钟 3小时 4月份中的日期 5月份 6星期中的日期 7年份 **************&ndash;&gt; -->
457 <!--    <bean id="refreshLiveRoomJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">-->
458 <!--        <property name="jobClass">-->
459 <!--            <value>com.yc.sdk.miniapp.action.MaSyncLiveRoomTimer</value>-->
460 <!--        </property>-->
461 <!--    </bean>-->
462
463 <!--    <bean id="refreshLiveRoomTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">-->
464 <!--        <property name="jobDetail">-->
465 <!--            <ref bean="refreshLiveRoomJobDetail" />-->
466 <!--        </property>-->
467 <!--        <property name="cronExpression">-->
468 <!--            <value>10/200 * 8-23 * * ? *</value>-->
469 <!--        </property>-->
470 <!--    </bean>-->
471 <!--    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">-->
472 <!--        <property name="triggers">-->
473 <!--            <list>-->
474 <!--                <ref bean="refreshLiveRoomTrigger" />-->
475 <!--            </list>-->
476 <!--        </property>     -->
477 <!--    </bean>-->
478 <!--   &lt;!&ndash; ******************自动拉取直播房间信息    调度计划 end ************** &ndash;&gt;      -->
479 <!--       -->
480 <!--    &lt;!&ndash;  ******************每晚更新已经过期的数据源   调度计划 start, 每天23:00执行一次, " 0 0 23 * * ? * ",  1秒 2分钟 3小时 4月份中的日期 5月份 6星期中的日期 7年份 **************&ndash;&gt; -->
481 <!--    <bean id="refreshDataSourceJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">-->
482 <!--        <property name="jobClass">-->
483 <!--            <value>com.yc.sdk.shopping.action.MaintainceTimer</value>-->
484 <!--        </property>-->
485 <!--    </bean>-->
486
487 <!--    <bean id="refreshDataSourceTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">-->
488 <!--        <property name="jobDetail">-->
489 <!--            <ref bean="refreshDataSourceJobDetail" />-->
490 <!--        </property>-->
491 <!--        <property name="cronExpression">-->
c79713 492 <!--            <value>0 15 11 * * ? *</value>-->
a6a76f 493 <!--        </property>-->
F 494 <!--    </bean>-->
495 <!--    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">-->
496 <!--        <property name="triggers">-->
497 <!--            <list>-->
498 <!--                <ref bean="refreshDataSourceTrigger" />-->
499 <!--            </list>-->
c79713 500 <!--        </property>-->
a6a76f 501 <!--    </bean>-->
F 502 <!--   &lt;!&ndash; ******************每晚更新已经过期的数据源   调度计划 end ************** &ndash;&gt;     -->
503 <!--       -->
504 <!--       -->
505 <!--        &lt;!&ndash;邮件收取触发器-->
506 <!--     <bean id="spaceMailDetails" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">-->
507 <!--        <property name="jobClass">-->
508 <!--            <value>com.yc.schedule.EmailReceiverTimer</value>-->
509 <!--        </property>-->
510 <!--        <property name="jobDataAsMap">  -->
511 <!--            <dataResult>-->
512 <!--               -->
513 <!--                  <description>jobDataAsMap</description>  -->
514 <!--              -->
515 <!--                <entry key="OtherMailImpl" value-ref="OtherMailImpl" />                       -->
516 <!--                <entry key="MailInfoImpl" value-ref="MailInfoImpl" />                       -->
517 <!--                <entry key="DemoInfoImpl" value-ref="demo" />                       -->
518 <!--            </dataResult>  -->
519 <!--        </property>  -->
520 <!--        -->
521 <!--    </bean>-->
522
523 <!--    <bean id="spaceCheckMaileTriggers" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">-->
524 <!--        <property name="jobDetail">-->
525 <!--            <ref bean="spaceMailDetails"/>-->
526 <!--        </property>-->
527 <!--        <property name="startDelay">-->
528 <!--            <value>6000</value>  -->
529 <!--        </property>-->
530 <!--        <property name="repeatInterval">-->
531 <!--            <value>108000000</value>-->
532 <!--        </property>-->
533 <!--    </bean>-->
534 <!--    -->
535 <!--    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">-->
536 <!--        <property name="triggers">-->
537 <!--            <list>-->
538 <!--                <ref bean="spaceCheckMaileTriggers" />-->
539 <!--            </list>-->
540 <!--        </property>        -->
541 <!--    </bean>-->
542 <!--    &ndash;&gt;-->
543 <!--    -->
544 <!--    &lt;!&ndash; -->
545 <!--              <bean id="scheduleReportTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">   -->
546 <!--                   <property name="timerTask"> <ref bean="SendSmsTimer"/> </property>  -->
547 <!--                  <property name="period">   -->
548 <!--                   <value>6000</value>   -->
549 <!--                  </property>             -->
550 <!--                    </bean>   -->
551 <!--                  <bean class="org.springframework.scheduling.timer.TimerFactoryFactoryBean">   -->
552 <!--                      <property name="scheduledTimerTasks">   -->
553 <!--                       <list><ref bean="scheduleReportTask"/></list>   -->
554 <!--                             </property>   -->
555 <!--                         </bean>  -->
556 <!--      &ndash;&gt;-->
557 <!--       &lt;!&ndash;   -->
558 <!--        <bean id="SmsSimpleTrigger"    class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean" >-->
559 <!--        <property name="jobDetail"> <ref bean="smsTaskJob" /> </property>-->
560 <!--        <property name="repeatInterval"> <value>60000</value> </property>-->
561 <!--        </bean>-->
562 <!--        -->
563 <!--        <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">-->
564 <!--        <property name="triggers">     <list> <ref bean="SmsSimpleTrigger" /></list> </property>-->
565 <!--         </bean>-->
566 <!--         &ndash;&gt; -->
567
568
569   <!-- 重新生成功能号   -->
570   <bean id="formidVersion" class="com.yc.action.build.FormidVersion">  
571     <property name="formidConfig">  
572         <value>classpath:FormidVersion.xml</value>
573     </property>
574   </bean> 
575   
576   <import resource="spring-redis.xml"/>      
577 </beans>