yyMMddhhmmssMs로 구성되어야하는 OrderId를 생성 중이며이 orderId는 Orders 테이블의 primarykey 필드를 나타냅니다.현재 날짜를 기준으로 UniqueId를 생성하는 방법
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTime {
public static String getCurrentDateTimeMS() {
Date dNow = new Date();
SimpleDateFormat ft = new SimpleDateFormat("yyMMddhhmmssMs");
String datetime = ft.format(dNow);
return datetime;
}
public static void main(String args[]) throws InterruptedException {
for (int i = 0; i < 50; i++) {
String orderid = DateTime.getCurrentDateTimeMS();
System.out.println(orderid);
}
}
}
하지만 난 그들 중 대부분은 중복을 던지고 있었다 이초의 램프 최대 100 사용자와 JMeter를 사용하여 내 응용 프로그램을 테스트로드 할 때
아래와 같이 :내가 주문 ID를 생성 한 방법은 다음과 같습니다
java.sql.BatchUpdateException: Duplicate entry '1410160239241024' for key 'PRIMARY'
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1269)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:955)
at com.services.OrdersInsertService.getData(OrdersInsertService.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
얼마나 많은 동시 사용자가 있더라도 상관없이 현재 시간에 따라 UniqueId를 생성하는 것이 어떻게 가능합니까?
http://stackoverflow.com/questions/9191288/creating-a-unique-timestamp-in-java – Criban