我正在编写一个独立的 Java 应用程序,它使用 notes.jar 与 Lotus Notes 客户端对话。该应用程序无权访问 Domino 服务器,这就是我使用 Lotus Notes 客户端的原因。
用户 id 文件位置和密码由用户通过我的应用程序提供,然后使用这些应用程序连接到 Lotus Notes 客户端。
在客户端中,我首先使用我的应用程序在 Lotus Notes 客户端的 notes.ini 文件中设置的默认 ID 创建会话,然后切换 ID,即:
Session session = NotesFactory.createSession((String) null, (String) null, "defaultPassword");
session.createRegistration().switchToID(userSuppliedIDFilename, userSuppliedPassword);
如果用户提供的密码正确,则一切正常。
但是,如果密码错误,该switchToID()
方法会提示控制台输入正确的密码:
The ID file being used is: CN=Test Test/=Development
Enter password (press the Esc key to abort):
我的 Java 应用程序无法响应此控制台提示,因此它挂起。
有什么办法可以停止提示。即获取switchToID()
密码错误时抛出异常的方法,以便应用程序可以向用户返回错误消息?
有没有办法让我的应用程序将Esc
密钥发送回提示符,以便我可以按照从 Notes 返回的消息中的指示中止该过程?
有没有更好的方法来使用用户输入的 ID 文件和密码创建客户端会话?
谢谢,理查德