-- 刷新EHR用户角色 -->
<bean id="synRoleId"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="webService"
/>
</property>
<property name="targetMethod">
<value>updateRoleId</value>
</property>
<property name="concurrent"
value="false"/>
</bean>
<bean id="synRoleIdTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="synRoleId"
/>
</property>
<property name="cronExpression">
<value>0
00 05
? * *</value>
</property>
</bean>
<!-- 启动job -->
<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="synRoleIdTrigger"
/>
<!-- 配置多个定时任务-->
</list>
</property>
<property name="autoStartup"
value="true"/>
</bean>
接口类中:
public
void snycUpdateRoleId();
接口实现类中:
@Override
public
void updateRoleId() {
log.info("CALC.SP_UPDATE_ROLE_ID..."+new
Date());
this.syUserDAO.updateBySQL("{call CALC.SP_UPDATE_ROLE_ID()}");
}
hibernate调用方法:
public
Integer updateBySQL(final
String sql, final
Object... paramsValue) {
return
(Integer)getHibernateTemplate().execute(new
HibernateCallback() {
public
Object doInHibernate(Session session) throws
HibernateException, SQLException {
Query query = session.createSQLQuery(sql);
if(paramsValue!=null){
for
(int
i = 0; i < paramsValue.length; i++) {
query.setParameter(i, paramsValue[i]);
}
}
return
query.executeUpdate();
}
});
}