在web.xml中配置了quartz,启动正常不过现在需要在quartz任务中加入数据操作,于是想把sessionfactory注入到该任务中。。<bean id="scheduleJob"
class="com.ScheduleJob">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
在任务中设置sessionfactory的getter & setter可是sessionfactory老是为null~~~why?????????

解决方案 »

  1.   


    public class ScheduleJob implements Job{

    private SessionFactory sessionFactory;
        
        public void execute(JobExecutionContext joc) throws JobExecutionException {
            
            System.out.println("Start schedule job ===" + joc.getTrigger().getName() + "===");
            
            try {
                System.out.println(getSessionFactory());
            } catch (Exception e) {
                e.printStackTrace();
            }
            
            System.out.println("End schedule job ===" + joc.getTrigger().getName() + "===");
        } public SessionFactory getSessionFactory() {
    return sessionFactory;
    } public void setSessionFactory(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
    }}
      

  2.   

    看不出问题。你用的 AnnotationSessionFactoryBean 还是 LocalSessionFactoryBean ?
      

  3.   


    一开始是用注解 spring配置文件里面没配置 直接用hibernateTemplate@Component
    public class ScheduleJob implements Job{

    private HibernateTemplate hibernateTemplate;
        
        public void execute(JobExecutionContext joc) throws JobExecutionException {
            
            System.out.println("Start schedule job ===" + joc.getTrigger().getName() + "===");
            
            try {
                System.out.println(getHibernateTemplate());
            } catch (Exception e) {
                e.printStackTrace();
            }
            
            System.out.println("End schedule job ===" + joc.getTrigger().getName() + "===");
        } public HibernateTemplate getHibernateTemplate() {
    return hibernateTemplate;
    } @Resource
    public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
    this.hibernateTemplate = hibernateTemplate;
    }}
      

  4.   

    开玩笑的吧。  AnnotationSessionFactoryBean 或者 LocalSessionFactoryBean 必须有其一,要不你hibernate根本没法工作的。
      

  5.   

    。。额~~~是用 AnnotationSessionFactoryBean 没配是指
    <bean id="scheduleJob"
            class="com.ScheduleJob">
    <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
    没配
      

  6.   

    ....
    你不上 scheduleJob的配置以后还是不能注入 SessioFactory 吗?
      

  7.   

    不行。。其他类注入都没问题@。@会不会是因为启动原因scheduleJob是tomcat启动就运行的DAO的注入就一点问题都没有@。@
      

  8.   


    继续试试再不行我用JDBC去@。@