【问题标题】:Eclipse RSE: how get to know that the command already completeEclipse RSE:如何知道命令已经完成
【发布时间】:2015-04-20 23:41:36
【问题描述】:

我有 E3.3.2 版本的工作 Eclipse 插件(内部)。现在我应该将 eclipse 升级到 E4.3.2。在 E3.3.2 中,我使用远程系统资源管理器 (RSE) v_2.0.3。一切正常。 但是在带有 RSE v3.0.7 的 E4.3.2 中我有问题。 在 98% 的情况下,我无法完成我的任务(还没有完成远程 shell 的事件)并且在“超时”时间之后我看到“超时异常”,但所有命令都成功完成(通过日志)。

我有一个ScriptRunnerJob 类,它扩展org.eclipse.core.runtime.jobs.Job 并实现org.eclipse.core.runtime.jobs.IJobChangeListener

private class ShellEventsListener implements ISystemResourceChangeListener {
    public void systemResourceChanged(ISystemResourceChangeEvent event) {
        if (event.getType() == ISystemResourceChangeEvents.EVENT_REFRESH) {
            Object parent = event.getParent();
            if (parent instanceof IRemoteCommandShell) {
                ScriptRunnerJob scriptRunner = findScriptByShell((IRemoteCommandShell) parent);
                if (scriptRunner != null) {
                    scriptRunner.refreshScriptOutput();
                }
            }
        } else if (event.getType() == ISystemResourceChangeEvents.EVENT_COMMAND_SHELL_FINISHED) {
            Object source = event.getSource();
            if (source instanceof IRemoteCommandShell) {
                ScriptRunnerJob scriptRunner = findScriptByShell((IRemoteCommandShell) source);
                if (scriptRunner != null)
                    scriptRunner.notifyShellFinished();
            }
        } 
    }
}

当我收到事件EVENT_COMMAND_SHELL_FINISHED - 我的脚本已成功完成,但它很少发生。我正在处理这个问题几天并且没有任何想法。我不确定 RSE 中是否存在此问题,但我不知道为什么会发生。

在服务器 OpenSSH v1.4.5

【问题讨论】:

    标签: java eclipse ssh eclipse-plugin openssh


    【解决方案1】:

    org.eclipse.rse.internal.subsystems.shells.servicesubsystem.OutputRefreshJob.java 中修复了它 为输出添加验证。 In not changed - 任务应该完成了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-29
      • 2020-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      相关资源
      最近更新 更多