我有一个生成文档的 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())
{
}
即使该代理同时运行,是否有任何方法可以获得唯一编号(带有增量)