我有弹簧集成入站适配器,工作正常,下面。我还在集群模式下设置Quartz(因此在触发器/调度程序中保留)。对于扩展org.quartz.Job
类的Job,它也可以正常工作。我试图使int-jpa:inbound-channel-adapter
中的轮询器处于群集模式,这样即使它在多个节点中部署,也只有其中一个正在运行。我有了为serviceactivator这样做的想法,但我不知道如何为我使用int-jpa:inbound-channel-adapter
的方案做这个。我使用的是spring 4和Quartz 2.
<int-jpa:inbound-channel-adapter
id="inboundChannelAdapterIIDDataJpa"
channel="inboundChannelAdapterOne"
entity-manager="entityManager"
jpa-query="select g from House g"
expect-single-result="false"
delete-after-poll="false">
<int:poller fixed-rate="50000">
<int:transactional propagation="REQUIRED"
transaction-manager="transactionManager" />
</int:poller>
</int-jpa:inbound-channel-adapter>
我试图将poller(上面)替换为 和 然后像这样定义cron;
<bean id="mytrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="cronExpression" value="0 0/5 * * * ?" />
<property name="jobDetail" ref="inboundChannelAdapterIIDDataJpa" />
</bean>
这里jobDetail引用适配器ID。然后有&#34; mytrigger&#34;在调度程序中
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="mytrigger" />
</list>
</property>
</bean>
但它不起作用。我正在寻找解决方案,使触发器可以处于集群模式,在石英表中保留触发信息。