我有一个带有存档器作业的 spring 项目,有时我想从命令行手动调用它,有没有选项?
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<bean id="archiverService" class="jobs.service.ArchiverService" />
<bean id="myJob" class="jobs.MyJobs" />
<bean id="archiverJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="cmd.jobs.Archiver" />
<property name="jobDataAsMap">
<map>
<entry key="myJob" value-ref="myJob" />
</map>
</property>
</bean>
<bean id="cronTriggerArchiverJob" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="archiverJob" />
<property name="cronExpression" value="0 0 23 * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="archiverJob" />
</list>
</property>
<property name="triggers">
<list>
<ref bean="cronTriggerArchiverJob" />
</list>
</property>
</bean>
</beans>
最佳答案
是的。
在Quart Examples Page您会发现 Linux.sh
AND Windows.bat
示例,例如 EXAMPLE1 .
只需替换您的 JDK 安装根目录即可。
基本上:
$JAVA -classpath $QUARTZ_CP $LOGGING_PROPS org.quartz.examples.example1.SimpleExample
example1.sh
#!/bin/sh
# Change this to your JDK installation root
#
#JAVA_HOME=/usr/java/jdk1.6.0_18
JRE=$JAVA_HOME/jre
JAVA=$JRE/bin/java
workdir=`dirname $0`
workdir=`cd ${workdir} && pwd`
QUARTZ=${workdir}/../..
. ${QUARTZ}/examples/bin/buildcp.sh
if [ `uname | grep CYGWIN` ]; then
workdir=`cygpath -w -p $workdir`
fi
LOGGING_PROPS="-Dlog4j.configuration=file:${workdir}/log4j.xml"
$JAVA -classpath $QUARTZ_CP $LOGGING_PROPS org.quartz.examples.example1.SimpleExample
关于java - 有没有办法从 Linux Shell 手动调用 Spring Quartz Job,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32334638/