-- 刷新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();
}
});
}