如何让程序一直保持运行的状态?
想开发一个程序,程序从数据库获取某个数据,当这个数据是某某值的时候,发送邮件到指定的地址中。
我的问题是,当我开发完这个程序之后,怎么让该程序时刻运行着,就是时刻从数据库取值,然后判断这个值,当这个值是符合某个值的话就发送邮件。
还有一个问题就是,当从数据库取值,然后判断这个值符合某个条件之后,只发一次邮件,而不是一直发。
获取数据库的代码和发送邮件的代码已经写好,就是不知道怎么时刻让程序处于运行状态。
[解决办法]
一个有出口的死循环
比如
boolean tag=true;
while(tag){
}
[解决办法]
windows不是有定时任务计划么。。。
[解决办法]
用while(true){....}或for(;;){....}都行
至于只发一次,可以在循环外加一个变量标示一下比如a=1; 发完之后a=2或其他什么值,每次发之前判断下这个就行了,不等于1就标示已经发送过。
[解决办法]
定时器 + 判断条件 足以满足上述 需求
[解决办法]
写一个定时器~~~每隔几秒运行一次!!!
关于只发送一次的限制、你可以在去数据库取值的时候控制~~~取那些没有发送过的!
具体那些是没有发送过的、得看你程序的标识了、比如发送了的在某张表有关联、那么取值的时候关联查询过滤掉发送的.....要不就是简单一点、在数据库表中在加上一个字段!
如果发送的为1、没有发送的为0、默认为0!
那么你就可以在取值的时候直接取标识为0的来发送、在发送完成后把标识改为1!
[解决办法]
搜 Timer
[解决办法]
Timer和timeTask可以解决你的问题
或者直接用quartz框架
[解决办法]
写个Servlet定时器吧!如果你没写过的话,留下你的邮箱,我可以写一个发你!
[解决办法]
使用带停止变量的循环配合Thread.sleep()实现,或者使用定时器
[解决办法]
推荐spring+quartz制作定时器 很简单 可以设置每几秒执行一次method
[解决办法]