StringBuffer buffer = new StringBuffer();
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(10);
List<Future> listFuture = new ArrayList<Future>();
for (int i = 0; i < number; i++) {
Callable myCallable = new Callable() {
@Override
public Object call() throws Exception {
Map ruleMember = buildCouponRuleMember(couponRule);
addStartDateAndEndDate(ruleMember, couponRule);
ruleMember.put("writeOffCode",getCode());
db().insert("couponRule.addCouponMember", ruleMember);
Thread.sleep(50);
return ruleMember.get("id");
}
};
Future future = fixedThreadPool.submit(myCallable);
listFuture.add(future);
}
fixedThreadPool.shutdown();
for (Future future : listFuture) {
try {
buffer.append(future.get()+ ",");
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
return buffer.toString();