三星曲面三星量子点还是led好与平面三星量子点还是led好哪个好

等java quartz如何查看当前执行任务的线程数
请教下,java quartz如何查看当前执行任务的线程数,我在配置文件中设置的org.quartz.threadPool.threadCount = 100,我想看看我在执行任务时,是否有空余的线程
所有回答列表(5)
过来学习下
把所有quartz放到map里边,就可以监控了呀
@牛哥,指教下
在项目增加javamelody监控插件,有独立后台界面查看线程数。
提供下最简单的思路:可以将当前正在运行的quartz job打印一些信息,比如:Thread.currentThread()的线程信息!
另外可以参考这个:
编程语言基础
数据库开发
客户端开发
服务器软硬件
开源组件类库
暂无贡献等级
暂无贡献等级
暂无贡献等级
暂无贡献等级
暂无贡献等级
暂无贡献等级
暂无贡献等级
暂无贡献等级
暂无贡献等级
扫描二维码关注最代码为好友"/>扫描二维码关注最代码为好友使用quartz插件获取不到jobs配置文件
你好,想跟你请教个问题:我使用了你的定时器插件,发现可以获得quartz.properties配置文件,却不可以获得jobs.properties配置文件,不知道是什么问题?
你好,是jfinal-quartz还是resty-quartz?
--- 共有 6 条评论 ---
: 谢谢反馈
: 嗯,大概了解了
: Tomcat和jetty运行,都是在调用Properties.exit(jobs)方法的时候,返回的是false,我看源码中,加载quartz.properties没用到Properties.exit()方法。
你的环境是怎么样的?
嗯 quartz.properties
没有这问题吗怎么用quartz控制任务的执行顺序 - ITeye问答
最近接手一个项目,通过web方式配置定时调度,一个调度有多个步骤,每个步骤的作用都不同,并且相互依赖。想到了用quartz+spring,做出了一个demo,可以动态的添加调度步骤,做一些到服务器上转存日志之类的工作。现在的问题是有很多个步骤都要执行,比如 job1 --&job2、job3 --& job4 --& job5、job6、job7大概就是这样一个顺序,请问如何处理呢?本人是新手,思考良久,仍未想到解决方案。。。
采纳的答案
把需要并行的任务塞到一个任务队列里面,用一个线程去执行,比如下面的代码:
import java.util.concurrent.ArrayBlockingQ
import java.util.concurrent.BlockingQ
import java.util.concurrent.TimeU
public class OrderedJobService {
private BlockingQueue&Runnable& queue = new ArrayBlockingQueue&Runnable&(10);
private boolean running =
public void start() {
Thread t = new Thread(new OrderedJob());
t.start();
public void stop() {
public void submit(Runnable job) {
if (queue.offer(job, 5000L, TimeUnit.MILLISECONDS) == false) {
// 处理插入失败...
} catch (InterruptedException e) {
e.printStackTrace();
class OrderedJob implements Runnable {
public void run() {
while (running) {
Runnable job = queue.poll(5000L, TimeUnit.MILLISECONDS);
if (job != null)
job.run();
} catch (RuntimeException e) {
// TODO: handle exception
} catch (InterruptedException e) {
e.printStackTrace();
public class OrderedJobs {
static int x = 0;
public static void main(String[] args) {
OrderedJobService service = new OrderedJobService();
service.start();
for (int i = 0; i & 10; i++) {
service.submit(new Runnable() {
public void run() {
System.out.println(x++);
synchronized (service) {
service.wait(3000L);
} catch (InterruptedException e) {
e.printStackTrace();
//释放线程
service.stop();
用for循环不就可以了吗?
把需要串行的任务塞到一个任务队列里面...不好意思,写错了
当前 Quartz 并不支持任务的调度顺序,只是用来实现对某个任务的时间调度,例如每天的2点执行某个任务。你说的这个需求只能通过应用层来实现,例如当 job1 执行完毕时,自己去启动 job2 的执行,当然 job1 在什么时间启动可以通过 Quartz 来调度。总之,你需要自己写程序来配置任务的调度顺序。
已解决问题
未解决问题quartz框架中防止任务并行可以有两种方案:
1、如果是通过MethodInvokingJobDetailFactoryBean在运行中动态生成的Job,配置的xml文件有个concurrent属性,这个属性的功能是配置此job是否可以并行运行,如果为false则表示不可以并行运行,否则可以并行。如果一个job的业务处理发费的时间超过了job的启动的间隔时间(repeatInterval),这个属性非常有用。如果为false,那么,在这种情况下,当前job还在运行,那么下一个job只能延时运行。如果为true,那么job就会并行运行。
&bean id=" jobCompareB2cAndLocal" class="com.vipshop.management.util.quartz.MethodInvokingJobDetailFactoryBean "&
&property name="targetObject " ref="delegateJob " /&
&property name="targetMethod " value="方法名" /&
&property name="concurrent " value="false "&&/property &
2、如果是通过自定义要执行的任务的类的名称实现job的话,则有另一种方式:
默认的任务的类实现org.quartz.Job接口,此时任务是stateless(无状态的),即会出现并行的情况,那么如何避免这种情况发生呢?
解决方案:使QuartzJobBean类实现org.quartz.StatefulJob接口即可(StatefulJob接口仅仅是扩展了 Job 接口,未加入新的方法,可以不需实现Job接口了),那么此时任务就会变成stateful(有状态的),此时的任务也就会串行执行了。
public class BackCoupon implements StatefulJob {
public void execute(JobExecutionContext context)
throws JobExecutionException {
在Quartz中:
如果实现org.quartz.Job接口,那么这个job是stateless的,job实例的参数不能在多个任务之间共享
如果实现org.quartz.StatefulJob,这个job是个单例的,job实例的属性可以从当前任务传递到下一个任务。
阅读(...) 评论()2011年 总版技术专家分年内排行榜第三2010年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第五
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 曲面屏好还是平面屏好 的文章

 

随机推荐