请问spring的quartz怎么和struts2整合起来啊。最好详细些。新手,谢谢了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问spring的quartz怎么和struts2整合起来啊。最好详细些。新手,谢谢了相关的知识,希望对你有一定的参考价值。

请问spring的quartz怎么和struts2整合起来啊。最好详细些。新手,谢谢了
#============================================================================
# Configure Main Scheduler Properties
#============================================================================
org.quartz.scheduler.instanceName = DefaultQuartzScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.scheduler.rmi.export = false
org.quartz.scheduler.rmi.proxy = false
org.quartz.scheduler.wrapJobExecutionInUserTransaction = false
#============================================================================
# Configure ThreadPool
#============================================================================
#org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 10
org.quartz.threadPool.threadPriority = 5
#org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true
#============================================================================
# Configure JobStore
#============================================================================
#org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
#org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
org.quartz.jobStore.misfireThreshold = 60000
#org.quartz.jobStore.useProperties = false
#org.quartz.jobStore.tablePrefix = QRTZ_
#org.quartz.jobStore.dataSource = myDS
#org.quartz.jobStore.isClustered = true
#org.quartz.jobStore.clusterCheckinInterval = 15000
#============================================================================
# Configure DataSource
#============================================================================

bean id="test" class="action.TestAction" scope="prototype">
<property name="orderBiz" ref="orderBiz"></property>
</bean>

<bean name="reportTask"
class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="action.TestAction" />
</bean>

<!-- 触发器 -->
<bean id="cronTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">

<!-- 指向我们的任务 -->
<property name="jobDetail" ref="reportTask" />

<!-- 每天下午16点50分到55分,每分钟运行一次 -->
<property name="cronExpression" value="0 0/3 0/1 * * ?" />
</bean>

<!-- 调度器 -->
<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<!-- 触发器列表 -->
<ref bean="cronTrigger" />
</list>
</property>
<property name="configLocation" value="classpath:quartz.properties" />
</bean>

参考技术A 为什么要用定时任务调用struts2中的action?
建议通过MethodInvokingJobDetailFactoryBean调用service方法,action一般接受用户http请求用的.
<bean id="reportTask"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<!-- 要调度的类 -->
<ref bean="testService" />
</property>
<property name="targetMethod">
<!-- 要调度的方法名称 -->
<value>dailyTask</value>
</property>
</bean>
<bean id="testService" class="com.xxx.testServiceImpl" />
public class TestServiceImpl

public void dailyTask()
//do your business




如果你非要调用action也可以,
既然你用了org.springframework.scheduling.quartz.JobDetailBean来实现定时任务,那么你的action类TestAction必须实现Job接口
<bean name="jobDetail"
class="org.springframework.scheduling.quartz.JobDetailBean">

<property name="jobClass" value="action.TestAction" />
<property name="applicationContextJobDataKey"
value="applicationContext"/>
</bean>
public class TestAction implements Job
public void
execute(JobExecutionContext jctx) throws JobExecutionException ...

Map dataMap = jctx.getJobDetail().getJobDataMap();
ApplicationContext ctx =
(ApplicationContext)dataMap.get("applicationContext");
// do your business



本回答被提问者采纳

struts2,spring,hibernate,log4j,quartz 公司使用这些组件和框架开发项目,需要付费吗?

比如我们是软件公司,

我们做的java项目使用了这些组件,需要付费吗?
我们开发的时候使用ECLIPSE软件,需要付费吗?
如果上线时将项目部署在RHEL5.4的服务器上,需要付费吗?
如果项目的数据库用的是MYSQL或ORACLE,需要付费吗?

需要专业和详细的解答,谢谢!

struts2,spring,hibernate,log4j,quartz 都是开源的,不会因为商用而付费,但是如果修改起源码,需遵循其协议,通常意味着你的代码必须开源且被限制在同一开源协议下,即你所修改的代码部分不能收费。额外的独立的功能不在此限制之内。

Eclipse开源,使用不需要付费。
RHEL不能商用,需要付费,不过可以用CentOS,RHEL的community版本代替。
Mysql 开源,可以用,可以付费购买支持,也可以不选择此服务。

Oracle不开源,不能商用,否则一旦被oracle发现,会收到律师函。追问

为什么不会因为商用而付费吗??

追答

因为他们的开源协议并没有针对商业用户说使用需要付费之类的规定。

参考技术A 因为基本上全是开源的,所以免费。Oracle除外。追问

也就说,我们公司可以免费使用这些组件或软件来开发项目,并且获益?

追答

国内一般没问题。
如果担心法律问题,先看看它的开源的协议是什么,然后读一下,一般见开源协议: Apache License 2.0 BSD MIT GPL LGPL EPL MPL CDDL
这里面常用的有 Apache License \ BSD \ MIT \ LGPL \ GPL
其中以 GPL 最为严格,限制最多。

追问

我只是使用这些组件,不修改任何组件的源代码,也跟开源协议有关吗?

追答

只要没说不能商用就可以用。

本回答被提问者采纳

以上是关于请问spring的quartz怎么和struts2整合起来啊。最好详细些。新手,谢谢了的主要内容,如果未能解决你的问题,请参考以下文章

Struts2 Spring JPA 整合时报错:No bean named 'entityManagerFactory' is defined ,请问各位是怎么解决

用java的Quartz包定时调用方法,我想实现每隔一个半小时调用一次方法, 请问Corn表达式怎么写?

请问spring与struts有啥区别?

请问用quartz插件的话 如何添加素材 添加后该怎么设置? 比如BEBEP的施法条是个火的图案?

请问怎么在jsp上实现页面跳转但是浏览器的url不变,或者怎么配置struts2

spring quartz怎么配置每70分钟执行一次?