[英]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.