【问题标题】:Eclipse Job started from running Job to get NotesSessionEclipse Job 从运行 Job 开始获取 NotesSession
【发布时间】:2012-09-28 17:25:14
【问题描述】:

我正在将自己的 Java 代码添加到 Notes 复制器(如活动同步):

<plugin>
   <extension
     point="com.ibm.notes.client.notesSync">
     <unit
        class="com.ibm.notes.smartfile.RunOnReplication"
        id="com.ibm.notes.smartfile.RunOnReplication"
        image="icons/SmartFile.gif"
        label="IBM SmartFile action">
     </unit>
  </extension>
</plugin>

这会在每次作业运行时执行的复制器页面中添加一个条目。我的班级是这样的:

public class RunOnReplication extends Job {
    public RunOnReplication(String name) {
      super(name);
    }

    @Override
    public IStatus run(IProgressMonitor arg0) {
        NotesSessionJob nsj = new NotesSessionJob("SmartFile Replication") {
            @Override
            protected IStatus runInNotesThread(Session s,
                IProgressMonitor monitor) throws NotesException {
            Engine engine = Activator.getDefault().getEngine();
            return engine.scheduledProcessing(s, monitor);
            }
        };
    nsj.schedule();
    return Status.OK_STATUS;
   }
}

现在我想知道:如何让nsj作业中的监视器向外部类报告状态,从而将进度报告给复制器进度条-或者有其他方法可以到达没有创建新作业的 NotesSession?

【问题讨论】:

    标签: java eclipse-plugin eclipse-rcp lotus-notes


    【解决方案1】:

    您不必使用 NotesSessionJob。取而代之的是,您还可以使用“旧”方式来实例化 N/D java 类。

    public class RunOnReplication extends Job {
        public RunOnReplication(String name) {
          super(name);
        }
    
        @Override
        public IStatus run(IProgressMonitor arg0) {
            try {
                NotesThread.sinitThread();
                Session session = NotesFactory.createSessionWithFullAccess();
                //do your stuff here
            } catch (Exception e) {
                // do your error handling here
            } finally {
                NotesThread.stermThread();
            }
        return Status.OK_STATUS;
       }
    }
    

    顺便说一句:好主意...

    【讨论】:

    • 朱普。我现在只需要弄清楚如何在邮件复制完成后延迟启动,并且我已经准备好“邮件从属,摆脱那些东西”工具
    猜你喜欢
    • 1970-01-01
    • 2012-08-12
    • 2016-07-09
    • 2013-07-01
    • 2011-04-25
    • 2019-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多