Wie job zu Jobfamilie zuordnen

Status
Nicht offen für weitere Antworten.

schuetzejanett

Bekanntes Mitglied
Hallo,

wie kann ich angeben zu welcher Familie ein eclipse Job gehört. Ich brauche das weil ich in meiner RCP verschiedene Aktionen habe, bei denen jeweils Jobs gestartet werden. Ich führe diese Aktionen in einem gui-Thread aus8async-Exec), damit der Nutzer nicht das Gefühl hat, das das Programm hängt.
Nun möchte ich aber das manche jobs nur nacheinander ausgeführt werden können.
Aus diesem Grund dachte ich, ordne sie alle einer Job-Familie zu und vor dem test warte ich ob ein Job dieser familie ausgeführt wird. Wenn nein wird der Job gestartet. Wenn ja, soll der Job kurz warten(sleep) und dann nochmal gucken ob ein Job dieser familie läuft.
Wie fuindet ihr dieses Vorgehen. Ist das gut ok so, oder gibt es eine bessere Idee dafür zu sorgen, das die gui nicht hängt und bestimmte Jobs nicht paralell ausgeführt werden können.
 

schuetzejanett

Bekanntes Mitglied
Hallo,

Ok habe nun gelesen, das man es die Methode join(), gibt welcher man Jobfamilie und progressmonitor gibt und welcher den Job ausführt nachdem alle anderen Jobs der jobfamilie ausgeführt sind.
Also eigentlich genau das was ich will. Nur leider funktioniert es nicht. Also der Job wird nie augeführt.

Hier ist mein Code sieht jemand den fehler?

Code:
@Override
	public void run()
	{
			Job JobPrint = new Job("Drucken")
			{
				@Override
				public boolean belongsTo(Object family)
				{
					System.out.println("abgefragt");
					return family.equals("blockJob");
				}

				@Override
				protected IStatus run(IProgressMonitor monitor)
				{
					//tue etwas
					return Status.OK_STATUS;
				}
			};
       try
		{

			//JobPrint.getJobManager().join("blockJob", null);   //geht auch nicht
			Job.getJobManager().join("blockJob", null);
		} catch (OperationCanceledException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InterruptedException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

Was fehlt oder warum gehts nicht?
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben