【发布时间】: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