定时器demo

来源:互联网 发布:阿里云降低配置 编辑:程序博客网 时间:2024/06/06 11:37
1.action走sendBathEmail方法,sendBathEmail 业务里写定时器,调用findPassWord方法。给一个全局变量a,变量a==0后,就结束定时器。public int findPassWord(List<Member> ml)throws MessagingException {a--; System.out.println("发邮件====》"+a);if(a==0) {  return 0;}for (int i = 0; i < ml.size(); i++) {Member m = ml.get(i);System.out.println("list对象=====>" + m.getCnname()+i );}return 1;}@Overridepublic void sendBathEmail(String title, String mailAddressStr,String content) throws MessagingException {//獲取分组人数,进行定时发邮件final List<Member> ml = new ArrayList<Member>();Member m1 = new Member();m1.setCnname("m1_dog");Member m2 = new Member();m2.setCnname("m2_cat");Member m3 = new Member();m3.setCnname("m3_dog");Member m4 = new Member();m4.setCnname("m4_cat");ml.add(m1);ml.add(m2);ml.add(m3);ml.add(m4);System.out.println("外层service开始");a = 10;System.out.println("外层====》》"+a);Timer timer = new Timer();timer.schedule(new TimerTask() {@Overridepublic void run() {try {System.out.println("定时器启动==》" + a);boolean b = true;int flag = 0;flag = findPassWord(ml);if(flag == 0 ) {b = false;}//关闭定时器if(!b) {cancel();System.out.println("定时器结束==》"  + a);}}catch(Exception e){e.printStackTrace();}}}, new Date(), 3*1000);}public int a;public int getA() {return a;}public void setA(int a) {this.a = a;}


	
				
		
原创粉丝点击