У меня есть агенты Java, которые генерируют документы.Я также присваиваю этим документам уникальный уникальный номер подписки, начиная с 1 и увеличивая +1 каждый раз.У меня есть вид, где я получаю последний номер, я беру этот номер и увеличиваю его на единицу.Поэтому, когда агент запускается, он увеличивает это число, это происходит с помощью фрагмента кода, который находится внизу этого вопроса.Иногда этот агент вызывается одновременно, и в результате получается один и тот же номер.Так, например, у меня есть документы, в которых есть число 1001, 4 раза, а не 1001, 1002, 1003, 1004.
Я пытался посмотреть, может ли агент запускать по одному, но это только длязапланированные агенты.
Код, который я запускаю для генерации уникального номера:
String ReturnValue = "";
View nvwVolgnr = iOrderDB.getView("Volgnummer");
lotus.domino.Document docVolgnr = nvwVolgnr.getDocumentByKey("Order");
if ( docVolgnr!=null){
String strVolgnr = docVolgnr.getItemValue("Volgnummer").toString();
//System.out.println("strVolgnr " + strVolgnr);
//Object intVolgnr = docVolgnr.getItemValue("Volgnummer");
strVolgnr = strVolgnr.replace("[", "");
strVolgnr = strVolgnr.replace("]", "");
double intVolgnr = Double.parseDouble(strVolgnr);
strVolgnr = strVolgnr.replace(".0", "");
//System.out.println("strVolgnr " + strVolgnr);
strVolgnr = "000000" + strVolgnr;
//System.out.println("strVolgnr " + strVolgnr);
strVolgnr = strVolgnr.substring(strVolgnr.length() - 6);
ReturnValue = strVolgnr;
intVolgnr = intVolgnr + 1;
Double dblVolgnr = new Double(intVolgnr);
//System.out.println("strVolgnr " + strVolgnr);
//Object objVolgnr = intVolgnr;
docVolgnr.replaceItemValue("Volgnummer", dblVolgnr);
if (docVolgnr.save())
{
}
Можно ли получить уникальные номера (с приращением), даже если этот агент работает одновременно