Hi,
I have been creating a plugin within Eclipse working entirely on version
3.0.1. One of my requirements is that I need to find out when a java
program has completely finished executing in the console either by
natural termination or user termination by clicking the red terminate
button. I successfully did this in version 3.0.1 by adding an
IJobChangeListener to the platform's job manager:
final IJobManager jobManager = Platform.getJobManager();
then adding a IJobChangeListener to this implementing the done() method
only by using the JobChangeAdapter class, which has the signature:
public void done(IJobChangeEvent event) {...
I then monitor all the jobs that have been "done" and I found that the
job that is lastly done when a java program is terminated either
naturally or by user interaction is the job with the name "Process
monitor". (I found this out by examining the "Progress" view when
executing a java program). I find this out by:
if (event.getJob().getName().equals("Process monitor")) {...
I have now upgraded to eclipse 3.0.2 and it appears that the jobs
framework has changed where this job is no longer processed and
consequently I have no way of knowing when a java program has
terminated, which is the critical part of my plugin. I thought at first
that the Job name had changed, but in fact no jobs are done to notify a
java program has finished executing in 3.0.2. Hence my plugin no longer
works. I can't find any documentation at all either relating to this
apparent change.
My question is then, is there any reason why this was removed from the
latest eclipse version and does anyone know if there is there any other
possible way of finding out when a java program has finished executing
that is compatible with all versions of Eclipse > 3.0?
Many Thanks,
Simon.