![](/img/trans.png)
[英]Java Agent in Lotus Notes thrwoing “java.security.AccessControlException” Exception
[英]Lotus Notes Agent - Java Security Error
我有一個用Java編寫的Lotus Notes代理,它可以在用戶單擊Notes客戶端中的按鈕后向用戶彈出消息。 嘗試顯示彈出窗口會導致我在Java調試控制台中看到的錯誤:
java.security.AccessControlException: Access denied (java.lang.RuntimePermission exitVM.0)
at java.security.AccessController.checkPermission(AccessController.java:108)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:544)
at COM.ibm.JEmpower.applet.AppletSecurity.superDotCheckPermission(AppletSecurity.java:1449)
at COM.ibm.JEmpower.applet.AppletSecurity.checkRuntimePermission(AppletSecurity.java:1311)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1611)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1464)
at java.lang.SecurityManager.checkExit(SecurityManager.java:756)
at java.lang.Runtime.exit(Runtime.java:99)
at java.lang.System.exit(System.java:279)
at ClipboardTest.main(Unknown Source)
at JavaAgent.NotesMain(Unknown Source)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(Unknown Source)
我的代理商代碼是
import lotus.domino.*;
import javax.swing.JOptionPane;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
// (Your code goes here)
Document cdoc = agentContext.getDocumentContext();
String[] notesURL = new String[] {cdoc.getNotesURL()};
ClipboardTest.main(notesURL);
JOptionPane.showMessageDialog(null,"message","title",JOptionPane.WARNING_MESSAGE);
} catch(Exception e) {
e.printStackTrace();
}
}}
我有經理訪問數據庫。 可能導致此錯誤的原因是什么?
首先看一下錯誤實際是什么:
Access denied (java.lang.RuntimePermission exitVM.0)
您告訴虛擬機死亡,您無權執行此操作。 如果你有,你會導致在該JVM實例上運行的任何其他東西也死掉,可能導致掛起/崩潰。
其次你的代碼在ClipboardTest.main()
方法中失敗,你沒有發布任何代碼。
在代理屬性中,有一個添加調試數據的選項。 這將為您提供導致問題的確切行號。
我的猜測是你在ClipboardTest.main()
有一個System.exit()
調用。 它應該不存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.