- 浏览: 41523 次
文章分类
- 全部博客 (28)
- java (28)
- 样式和主题 (1)
- 项目创建 (1)
- Java字节码(.class文件)格式详解(一) (1)
- 一次定时任务 (1)
- 数组最大连续子序列和 (1)
- jquery-ajax (1)
- ORACLE中一个字符占多少字节 (1)
- Java网络编程 (1)
- Melkman凸包算法的Java实现 (1)
- ios UITableViewCell 文字缩进 (1)
- Websphere6.1静默安装(转) (1)
- newInstance() 和 new 有什么区别? (1)
- 项目管理规范 RUP管理实施中角色的划分 (1)
- 做了几天关于地理信息系统的软件测试工作 (1)
- 一边播放RM文件 一边播放相应的PPT文件 编程实现 (1)
- iPhone消息推送机制实现与探讨 (1)
- 详解C#中访问私有成员 (1)
- linux命令 (1)
- length & substr (1)
- javascript图片库 (1)
- remount failed: Operation not permitted (1)
- iBATIS报ORA-01745: 无效的主机/绑定变量名 异常 (1)
- Java NIO ByteBuffer (1)
- 【转】深入浅出Node.js 持续更新中 (1)
- gson (1)
- Jsp文件中播发视频文件 (1)
- pycetr: 从html文档中提取文档内容 (1)
- [jquery]IE与Chrome下text()方法获取textarea值不一致 (1)
最新评论
-
ygsilence:
factory是什么?
newInstance() 和 new 有什么区别? -
Simon.C:
清了那些多余的HTML标签吧……
Java NIO ByteBuffer -
eagle59:
不错,!希望下次可以排好版。
newInstance() 和 new 有什么区别? -
liudeh_009:
理解得不错
newInstance() 和 new 有什么区别?
一次定时任务
在我们开发的一个系统中,有定时任务,自然就想到了Quartz,由于框架采用的Spring,Quartz跟Spring的集成也非常简单,所以就把Quartz配置到框架中,当系统启动后,定时任务也就自动启动。在开发的过程中一直没有发现问题,但是最后上线的时候,采用的是weblogic cluster,启动了4个节点,发现有的定时任务执行了不止一次,才恍然大悟,4个节点启动了4个应用,也就启动了4个定时任务,所以在同一个时间定时任务执行了不止一次。去网上搜索,发现Quartz也支持cluster,但是我觉得就我们的系统而言,没有必要采用cluster的定时任务,也许是比较懒吧,就想让定时任务只执行一次。在网上搜到了robbin的一篇文章(http://robbin.iteye.com/blog/40989 ),发现把quartz集中到webapp当中还是有一定的风险,同时同一个时间点执行也不止一次。Robbin的解决办法就是自己单独启动一个Job Server,来quartz跑job,不要部署在web容器中。 我也比较同意这个办法。鉴于时间比较紧,就想有没有比较方便的方法。其实把原来的webapp当做一个quartz的容器就可以了。可以自己写一个线程来跑应用,再写一个command启动这个线程就可以了。线程类很简单,如下:public class StartServer { public static void main(String[] args) throws Exception { ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(new String[] { "/spring/context-annotation.xml","/spring/context-transaction.xml","/spring/context-hibernate.xml","/spring/context-quartz.xml"}); System.out.println("start server...."); while (true) { try { Thread.sleep(900); } catch (InterruptedException ex) { } } };}去掉了系统的controller配置servlet.xml,运行这个类就可以了。在web-inf目录下写一个command来启动这个java类:setlocal ENABLEDELAYEDEXPANSIONif defined CLASSPATH (set CLASSPATH=%CLASSPATH%;.) else (set CLASSPATH=.)FOR /R .\lib %%G IN (*.jar) DO set CLASSPATH=!CLASSPATH!;%%GEcho The Classpath definition is==== %CLASSPATH%set CLASSPATH=./classes;%CLASSPATH%java com.company.job.StartServer这个command需要把需要的jar(web-inf/lib中)包都放到classpath中。每次启动的时候执行这个command就可以了。跟原来的应用分开了,调试起定时任务也不用影响到原来的应用,还是比较方便的。部署的时候原样拷贝一份,然后执行这个command就好了,部署起来也比较方便。 QQ:24889356
发表评论
-
[jquery]IE与Chrome下text()方法获取textarea值不一致
2012-02-08 12:33 1361[size=small;]<br>[/si ... -
pycetr: 从html文档中提取文档内容
2012-02-07 13:39 948html文档中通常夹杂着各种广告,相关性链接等,提取正 ... -
Jsp文件中播发视频文件
2012-02-04 15:54 946详情请转至:↓ http://blog.sina.co ... -
gson
2012-02-04 13:09 3883最近的项目,接口传输格式用JSON,试用了一下goog ... -
【转】深入浅出Node.js 持续更新中
2012-02-03 14:09 1026深入浅出Node.js(一):什么是Node.js h ... -
Java NIO ByteBuffer
2012-02-03 12:13 1590<span class="Apple- ... -
iBATIS报ORA-01745: 无效的主机/绑定变量名 异常
2012-02-01 10:09 5321今天发现发现线上报出一个异常: <br /> ... -
remount failed: Operation not permitted
2012-01-31 15:28 2091<span style="font-s ... -
javascript图片库
2012-01-11 13:58 812今天做了一个点击一个链接就在相应位置出现图片的DEMO ... -
length & substr
2011-12-21 13:08 862oracle中substr函数的用法 In ora ... -
linux命令
2011-12-21 12:19 955本章主要介绍Linux 的常用命令,其中主要有 文件 ... -
详解C#中访问私有成员
2011-12-20 11:29 833首先我必须承认访问一个类的私有成员不是什么好做法。大 ... -
iPhone消息推送机制实现与探讨
2011-12-20 10:24 1474最近两天在研究ios的消息推送机制。研究这个东西,还是 ... -
一边播放RM文件 一边播放相应的PPT文件 编程实现
2011-12-16 16:17 998应用情景:<br> 在制作网络课件的过程中 ... -
做了几天关于地理信息系统的软件测试工作
2011-12-15 16:59 984又忙活了几天。每天早早的就起床,到软件测试所在地,然后 ... -
项目管理规范 RUP管理实施中角色的划分
2011-12-15 09:39 777</span></font>& ... -
newInstance() 和 new 有什么区别?
2011-12-12 14:04 1551在初始化一个类, ... -
Websphere6.1静默安装(转)
2011-12-09 15:59 889<span style="color: ... -
ios UITableViewCell 文字缩进
2011-12-08 17:34 1205【前提】 UITableViewCell 原 ... -
Melkman凸包算法的Java实现
2011-12-08 10:51 5040坐标对象: ? public class Point{ ...
相关推荐
在Java编程语言中,`TimerTask`和`Timer`是两个关键类,它们用于实现定时任务的调度。这两个类属于`java.util`包,为开发者提供了执行周期性或一次性任务的能力。下面我们将深入探讨如何利用`TimerTask`执行每日定时...
python定时任务 每天运行一次 在 Python 中可以使用 schedule 模块来实现定时任务。以下是一个每天运行一次的例子: import schedule import time def job(): print("I'm running at 5:00am every day.") # 设定...
.net core 定时执行某一时间的任务,可设置循环的小时,分钟,秒, 资源里只执行了一次定时任务,可循环多次,运行时自动进入方法
在控制器中,我们可以调用Furion提供的API,如`BackgroundJob.Enqueue`来添加一次性任务,或者`CronJob.Enqueue`来创建基于CRON表达式的周期性任务。 `FurionJobStu02.csproj` 是项目文件,它定义了项目的依赖项和...
python定时任务 每天运行一次
对于K3Cloud的二次开发者,此插件提供了丰富的API接口,允许自定义任务逻辑,将企业特有的业务流程纳入定时任务体系。开发者可以通过编写脚本或者调用服务接口来实现复杂的任务逻辑,并通过插件进行调度。 3. **...
// 每60秒执行一次 } @Override public void contextDestroyed(ServletContextEvent sce) { // 在Web应用关闭时,取消所有任务,防止内存泄漏 Timer timer = (Timer) sce.getServletContext().getAttribute(...
1)Service默认运行在主线程中,IntentService运行在一个新的线程中 2)Service需要主动调用stopSelf()或stopService()服务才可以停止,IntentService运行完后自动停止 使用IntentService需要注意2点: 1)构造函数中...
一,任务列表(多个定时任务可在task:scheduled-tasks中写多个task:scheduled-task) */5 * * * * ?"/> </task:scheduled-tasks> 二,相对的类和方法 <bean id="myTaskXml" class="test.task"></bean>
总的来说,利用C#实现的自定义定时任务系统,结合多任务管理,可以灵活地处理各种定时任务需求,无论是简单的单次执行还是复杂的周期性操作,都可以轻松应对。通过这样的设计,开发者可以根据自己的业务场景,创建出...
其中,“db2定时任务”功能便是DB2为了自动化数据库管理和数据处理流程而设计的一个强大工具。本文将深入解析db2定时任务的使用方法,包括其基本概念、配置步骤、以及如何通过具体实例来理解和应用这一功能。 ### ...
") // 每5分钟执行一次 public void executeTask() { // 执行任务的逻辑 } } ``` 3. **动态开启和关闭定时任务** 要实现动态开启和关闭定时任务,我们需要利用Spring的`TaskScheduler`接口和`@...
在这个场景下,我们讨论的是如何在ASP.NET环境中设置一个定时器,使得页面加载或IIS启动后,该定时任务每隔10秒执行一次。 1. **定时任务原理**: ASP.NET定时任务通常基于`System.Threading.Timer`类或者`System....
例如,以下是一个简单的每分钟执行一次的任务: ```java import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class MyTask { @...
在Java开发中,Spring框架是广泛使用的,它不仅提供了丰富的功能,还支持诸如定时任务和多线程等高级特性。本示例将深入探讨如何在Spring框架中利用定时任务(Spring Task)启动多线程来执行并发操作。 首先,我们...
使用Python的timer来完成每天执行一次的定时任务,环境是windows,python3.4
"表示每5秒执行一次。 动态定时任务与静态任务不同之处在于,其执行周期不是固定的,而是可以从外部如数据库中获取。这种方式更加灵活,例如,当我们想要改变任务执行频率时,无需重启应用即可生效。在SpringBoot中...
在Spring框架中,定时任务是通过Spring的Task模块来实现的,这使得在非Web项目中也能方便地进行定时任务的调度。以下是对这个主题的详细讲解。 首先,我们需要了解Spring Task的核心组件: 1. **...
") // 每5秒执行一次 public void executeTask() { System.out.println("定时任务正在执行..."); // 任务逻辑 } } ``` 3. **配置Spring Task**:如果使用Spring Task,需在主配置类(一般命名为`Application....
6. **案例分析**:在这个“scheduler”压缩包中,可能包含了一个具体的示例代码,展示了如何使用Java创建一个每15分钟执行一次的定时任务。这可能涉及到创建一个Runnable或Callable接口的实现,然后用`...