Quartz Scheduler mit Spring und Oracle

Romsl

Erfahrenes Mitglied
Hi,

kann mir jemand sagen wie ich den QUARTZ Scheduler mit Spring und Oracle als JobStore verwenden kann?

Ich bekomme ständig eine Fehlermeldung

"ORA-01002: FETCH auf ungültigen oder geschlossenen Cursor."

Ich habe den Scheduler in meinem ApplicationContext folgendermaßen definiert.

Code:
    <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="dataSource">
            <ref local="dataSource"/>
        </property>
        <property name="applicationContextSchedulerContextKey">
            <value>applicationContext</value>
        </property>
        <property name="quartzProperties">
            <props>
                <prop key="org.quartz.jobStore.class">org.springframework.scheduling.quartz.LocalDataSourceJobStore</prop>
                <prop key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.oracle.OracleDelegate</prop>
                <prop key="org.quartz.jobStore.tablePrefix">QRTZ_</prop>
            </props>
        </property>
        <property name="autoStartup">
            <value>true</value>
        </property>
        <property name="overwriteExistingJobs">
            <value>true</value>
        </property>
        <property name="waitForJobsToCompleteOnShutdown">
            <value>true</value>
        </property>
    </bean>

Gruß

Romsl
 
Hallo!

Laut Doku solltest du einen TransactionManagerProxy verwenden, wenn du mit Datenbank Jobs arbeitest.
When using persistent jobs, it is strongly recommended to perform all operations on the Scheduler within Spring-managed (or plain JTA) transactions. Else, database locking will not properly work and might even break. (See setDataSource javadoc for details.)
->http://static.springframework.org/s...k/scheduling/quartz/SchedulerFactoryBean.html

Weiterhin schau mal hier:
http://forum.springframework.org/vi...light=schedulerfactorybean+oracle+transaction

Gruß Tom
 
Hi Thomas,

ich habs schon hinbekommen, hatte vergessen den Transaction Proxy für die Logik bereit zu stellen :suspekt:

Danke
 

Neue Beiträge

Zurück