提问者:小点点

当在java中集成石英配置xml和Spring时,我得到了这个异常


我已经在数据库上创建了所需的qurtz表,并正确映射了quartz xml的所有bean引用,但仍然得到了异常。我的夸茨配置。xml包含:-

<bean name="scheduler"
        class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="jobFactory">
            <bean class="org.springframework.scheduling.quartz.SpringBeanJobFactory" />
        </property>
        <property name="dataSource" ref="dataSource" />
        <property name="transactionManager">
            <ref bean="transactionManager" />
        </property>
        <property name="quartzProperties">
            <props>
                <prop key="org.quartz.jobStore.misfireThreshold">6000000</prop>
                <prop key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
                </prop>
                <prop key="org.quartz.jobStore.tablePrefix">qrtz_</prop>
                <prop key="org.quartz.jobStore.isClustered">true</prop>
                <prop key="org.quartz.jobStore.clusterCheckinInterval">20000</prop>
                <!-- <prop key="org.quartz.scheduler.instanceName">Scheduler</prop> -->
                <prop key="org.quartz.scheduler.instanceName">SgsClusteredScheduler</prop>
                <prop key="org.quartz.scheduler.instanceId">AUTO</prop>
                <prop key="org.quartz.scheduler.jmx.export">true</prop>
            </props>
        </property>
        <property name="applicationContextSchedulerContextKey" value="applicationContext" />
        <property name="waitForJobsToCompleteOnShutdown" value="true" />
        <property name="overwriteExistingJobs" value="true" />
        <property name="triggers">

    <list>      

    <ref bean="companySaleUploaderJobTrigger" />

 </list>
</property>


    </bean>

例外

组织。springframework。豆。工厂BeanCreationException:创建名为“scheduler”的bean时出错,该bean在ServletContext资源[/WEB-INF/config/quartzConfig.xml]中定义:调用init方法失败;嵌套的异常是org。石英JobPersistenceException:无法存储触发器:org。springframework。网状物上下文支持XmlWebApplicationContext[参见嵌套异常:java.io.NotSerializableException:org.springframework.web.context.support.XmlWebApplicationContext]位于org。springframework。豆。工厂支持AbstractAutoWireAbleBeanFactory。org上的initializeBean(AbstractAutowireCapableBeanFactory.java:1455)。springframework。豆。工厂支持AbstractAutoWireAbleBeanFactory。org上的doCreateBean(AbstractAutowireCapableBeanFactory.java:519)。springframework。豆。工厂支持AbstractAutoWireAbleBeanFactory。org上的createBean(AbstractAutowireCapableBeanFactory.java:456)。springframework。豆。工厂支持AbstractBeanFactory 1美元。org上的getObject(AbstractBeanFactory.java:294)。springframework。豆。工厂支持DefaultSingletonBeanRegistry。org上的getSingleton(DefaultSingletonBeanRegistry.java:225)。springframework。豆。工厂支持抽象工厂。doGetBean(AbstractBeanFactory.java:291)位于org。springframework。豆。工厂支持抽象工厂。org上的getBean(AbstractBeanFactory.java:193)。springframework。豆。工厂支持DefaultListableBeanFactory。在org上预实例化Singleton(DefaultListableBeanFactory.java:591)。springframework。上下文支持AbstractApplicationContext。在org上完成BeanFactoryInitialization(AbstractApplicationContext.java:918)。springframework。上下文支持AbstractApplicationContext。在org上刷新(AbstractApplicationContext.java:469)。springframework。网状物上下文ContextLoader。在org上配置和刷新WebApplicationContext(ContextLoader.java:383)。springframework。网状物上下文ContextLoader。initWebApplicationContext(ContextLoader.java:283)位于org。springframework。网状物上下文ContextLoaderListener。contextInitialized(ContextLoaderListener.java:111)位于org。阿帕奇。卡塔琳娜。果心标准语境。listenerStart(StandardContext.java:4206)位于org。阿帕奇。卡塔琳娜。果心标准语境。从org开始(StandardContext.java:4705)。阿帕奇。卡塔琳娜。果心集装箱基地。在org上启动(ContainerBase.java:1057)。阿帕奇。卡塔琳娜。果心标准主持人。在org上启动(StandardHost.java:840)。阿帕奇。卡塔琳娜。果心集装箱基地。在org上启动(ContainerBase.java:1057)。阿帕奇。卡塔琳娜。果心标准引擎。在org上启动(StandardEngine.java:463)。阿帕奇。卡塔琳娜。果心标准服务。在org上启动(StandardService.java:525)。阿帕奇。卡塔琳娜。果心标准服务器。在org上启动(StandardServer.java:754)。阿帕奇。卡塔琳娜。创业。卡塔琳娜。从太阳开始(Catalina.java:595)。反映NativeMethodAccessorImpl。在sun上调用0(本机方法)。反映NativeMethodAccessorImpl。在sun上调用(未知源)。反映DelegatingMethodAccessorImpl。在java上调用(未知源代码)。朗,反思一下。方法在组织中调用(未知源)。阿帕奇。卡塔琳娜。创业。独自创立从org开始(Bootstrap.java:289)。阿帕奇。卡塔琳娜。创业。独自创立main(Bootstrap.java:414)由:org引起。石英JobPersistenceException:无法存储触发器:org。springframework。网状物上下文支持XmlWebApplicationContext[参见嵌套异常:java.io.NotSerializableException:org.springframework.web.context.support.XmlWebApplicationContext]


共1个答案

匿名用户

由于JAR冲突而发生错误。现在我的问题是用两个罐子来解决。

当我使用带quartz-all-1.8.6的spring-3.1.2释放罐时。然后我的代码运行良好,现在使用oracle数据库触发石英触发器。

Quartzconfig.xml

<bean name="scheduler"
        class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="jobFactory">
            <bean class="org.springframework.scheduling.quartz.SpringBeanJobFactory" />
        </property>
        <property name="dataSource" ref="dataSource" />
        <property name="transactionManager">
            <ref bean="transactionManager" />
        </property>
        <property name="quartzProperties">          
                <props>
                <prop key="org.quartz.jobStore.misfireThreshold">6000000</prop>
                <prop key="org.quartz.jobStore.class">org.quartz.impl.jdbcjobstore.JobStoreTX</prop>         
                <prop key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
                </prop>
                <prop key="org.quartz.jobStore.tablePrefix">qrtz_</prop>
                <prop key="org.quartz.jobStore.isClustered">true</prop>
                <prop key="org.quartz.jobStore.clusterCheckinInterval">20000</prop>
                <!-- <prop key="org.quartz.scheduler.instanceName">Scheduler</prop> -->
                <prop key="org.quartz.scheduler.instanceName">SgsClusteredScheduler</prop>
                <prop key="org.quartz.scheduler.instanceId">AUTO</prop>
                <prop key="org.quartz.scheduler.jmx.export">true</prop>
                <prop key="org.quartz.scheduler.skipUpdateCheck">true </prop>
            </props>

</property>
        <property name="applicationContextSchedulerContextKey" value="applicationContext" />
        <property name="waitForJobsToCompleteOnShutdown" value="true" />
        <property name="overwriteExistingJobs" value="true" />
        <property name="triggers">

    <list>      
    <ref bean="Emailschedule trigger" />

 </list>
</property>


    </bean>