SRPING:定时器并发问题
PUSH_BIRTH_MSG_TEST表status=’1’的数据共19条
SQL> select ID, USER_ID, STATUS
2 from PUSH_BIRTH_MSG_TEST
3 where STATUS = '1'
4 order by ID
5 fetch next 50 rows only
6 /
ID USER_ID STATUS
----------- ----------- ------
6500 928645922 1
6501 928645922 1
6502 928645922 1
6503 928645922 1
6504 928645922 1
6505 928645922 1
6506 928645922 1
6507 928645922 1
6508 928645922 1
6510 928651342 1
6511 928651342 1
6512 928651342 1
6513 928649088 1
6514 928652889 1
6515 928652889 1
6516 928652889 1
6517 928652889 1
6519 928652889 1
6520 928652889 1
19 rows selected
count.txt
SendSmsBirthJob.java
package com.edai.job;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.edai.service.SendSMSService;
@Component(value = "sendSmsBirth")
public class SendSmsBirthJob {
@Autowired(required = true)
private SendSMSService sendSMSService;
public void executeTask() throws IOException {
System.out.println("==============================================");
long start = System.currentTimeMillis();
File file = new File("c:" + File.separator + "learning" + File.separator + "count.txt");
InputStream input = null;
input = new FileInputStream(file) ;
byte b[] = new byte[1024];
int len = 0;
int line = 0;
while((line=input.read())!=-1){
b[len] = (byte)line ;
len++ ;
}
input.close() ;
String result = new String(b,0,len);
System.out.println("读取文件: 总共" + result+"条数据。");
OutputStream output = null;
output = new FileOutputStream(file) ;
List<Map<String, Object>> listMap = sendSMSService.queryAllSms();
for (int i = 0; i < listMap.size(); i++) {
Map<String, Object> map = listMap.get(i)