![](/img/trans.png)
[英]Which function in Java is like the LIKE Operator in Lotusscript
[英]Domino synchronization. How to convert Lotusscript functions like CodeLock to Java?
這個 class 用於 Lotusscript 中的同步,通過文檔 ID 為文檔創建鎖定。 實現功能:只有一個代理可以同時將lockID下的一個或多個文檔更改為數據庫。
Class classSynchronization
Private lockName As String
Private lockID As Integer
Function getCount As long
getCount = CodeLockCheck(Me.lockID)
End Function
Function Wait As Boolean
Wait = CodeLock(Me.lockID)
End Function
Sub New( lockNameID As String)
Me.lockName = lockNameID
Me.lockID = CreateLock(Me.lockName)
' MsgBox "Synchronization Lock: "+ Me.lockName+ " Count in queue: " + CStr (CodeLockCheck(Me.lockID) )
End Sub
Sub Delete()
Dim releaseLock As Boolean
Dim deleteLock As Boolean
' MsgBox "Synchronization Release Lock: "+ Me.lockName+ " Count in queue: " + CStr (CodeLockCheck(Me.lockID) )
' When we are finished, destroy this reference to the lock
releaseLock = CodeUnlock(Me.lockID)
deleteLock = DestroyLock(Me.lockID)
End Sub
End Class
如何在多米諾骨牌中將此 class 轉換為 Java class?
LotusScript 中沒有與內置鎖定(CodeLock、CodeUnLock、DestroyLock、CreateLock、DestroyLock...)函數直接等效的 Java。 您將需要了解 Java 的同步原語,分析您的應用程序的同步需求,並找到最適合您的應用程序所需的東西。
沒有效果
import lotus.domino.*;
import java.util.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
Document doc = agentContext.getDocumentContext();
String lock = doc.getNoteID();
synchronized (lock) {
for (int i = 1; i < 10; i++){
System.out.println(lock + " " + session.getEffectiveUserName() + " " + Integer.toString(i));
Thread.sleep(1000);
}
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
結果:
[002413:000171-00007F99DC253700] 12/03/2021 11:47:51 PM HTTP JVM: 46AFE CN=Administrator/O=test 1
[002413:000171-00007F99DC253700] 12/03/2021 11:47:52 PM HTTP JVM: 46AFE CN=Administrator/O=test 2
[002413:000171-00007F99DC253700] 12/03/2021 11:47:53 PM HTTP JVM: 46AFE CN=Administrator/O=test 3
[002413:000173-00007F99DC4C7700] 12/03/2021 11:47:54 PM HTTP JVM: 46AFE CN=User 3/O=test 1
[002413:000171-00007F99DC253700] 12/03/2021 11:47:54 PM HTTP JVM: 46AFE CN=Administrator/O=test 4
[002413:000173-00007F99DC4C7700] 12/03/2021 11:47:55 PM HTTP JVM: 46AFE CN=User 3/O=test 2
[002413:000171-00007F99DC253700] 12/03/2021 11:47:55 PM HTTP JVM: 46AFE CN=Administrator/O=test 5
[002413:000173-00007F99DC4C7700] 12/03/2021 11:47:56 PM HTTP JVM: 46AFE CN=User 3/O=test 3
[002413:000171-00007F99DC253700] 12/03/2021 11:47:56 PM HTTP JVM: 46AFE CN=Administrator/O=test 6
[002413:000173-00007F99DC4C7700] 12/03/2021 11:47:57 PM HTTP JVM: 46AFE CN=User 3/O=test 4
[002413:000171-00007F99DC253700] 12/03/2021 11:47:57 PM HTTP JVM: 46AFE CN=Administrator/O=test 7
[002413:000173-00007F99DC4C7700] 12/03/2021 11:47:58 PM HTTP JVM: 46AFE CN=User 3/O=test 5
[002413:000171-00007F99DC253700] 12/03/2021 11:47:58 PM HTTP JVM: 46AFE CN=Administrator/O=test 8
[002413:000173-00007F99DC4C7700] 12/03/2021 11:47:59 PM HTTP JVM: 46AFE CN=User 3/O=test 6
[002413:000171-00007F99DC253700] 12/03/2021 11:47:59 PM HTTP JVM: 46AFE CN=Administrator/O=test 9
[002413:000173-00007F99DC4C7700] 12/03/2021 11:48:00 PM HTTP JVM: 46AFE CN=User 3/O=test 7
[002413:000173-00007F99DC4C7700] 12/03/2021 11:48:01 PM HTTP JVM: 46AFE CN=User 3/O=test 8
[002413:000173-00007F99DC4C7700] 12/03/2021 11:48:02 PM HTTP JVM: 46AFE CN=User 3/O=test 9
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.