Spring定时器执行一个方法,方法内调用Dao接口的实现类,Dao通过Spring框架注入,但是执行后输出值

qq_23214563 2014-11-12 02:37:41
这个是定时器执行的类:
private searchDataDao dao;
private List<searchData> list;

public void InsertData(){

System.out.println("定时程序进入");
System.out.println(dao);
list=dao.findAll();

System.out.println("查询后数据"+list.size());

Dao接口:
public interface searchDataDao {
List<searchData> findAll();
}

Dao接口的实现类:
public List<searchData> findAll() {
String hql="from searchData ";
Session session=getSessionFactory().openSession();
Query query=session.createQuery(hql);
System.out.println("查询数据库");

List<searchData> list= query.list();

System.out.println("查询的数据是"+list.get(0));

session.close();
return list;

Spring配置文件:
<bean id="QuartzJob" class="com.gtjc.quartz.QuartzJob" scope="prototype">
<property name="dao" ref="searchDataDao"></property>
</bean>

<bean id="searchDataDao" class="com.gtjc.quartz.dao.impl.searchDataDaoImpl"
scope="singleton">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

定时器配置文件:
<!-- 配置作业类 -->
<bean id="job2"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<bean class="com.gtjc.quartz.QuartzJob" />
</property>
<property name="targetMethod" value="InsertData" />
<property name="concurrent" value="false" /> <!-- 作业不并发调度 -->
</bean>

<!-- 配置作业调度的触发方式(触发器) -->
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="job2" />
<property name="startDelay" value="5000" /><!-- 调度工厂实例化后,经过0秒开始执行调度 -->
<property name="repeatInterval" value="10000" /><!-- 每2秒调度一次 -->
</bean>

<!-- 配置调度工厂 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="simpleTrigger" />
</list>
</property>
</bean>
...全文
598 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_26859497 2016-04-25
  • 打赏
  • 举报
回复
怎么解决的啊楼主
木鱼121 2014-11-12
  • 打赏
  • 举报
回复
引用 2 楼 qq_23214563 的回复:
我想要每隔一段时间去查询一次数据库,输出查询的内容
那么现在,出了什么问题?? 我们没看懂
qq_23214563 2014-11-12
  • 打赏
  • 举报
回复
我想要每隔一段时间去查询一次数据库,输出查询的内容
  • 打赏
  • 举报
回复
你想要输出什么值?请描述清楚一些。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧