2011-01-07 16 views
1

ich so eine Klasse Refactoring hatte:Refactoring Quartz Jobdata

Klasse Person im Paket com.core hat einen Verweis auf Klasse-Adresse, die im gleichen Paket. Ich musste Adresse in ein neues Paket com.core.location verschieben. Das war auf der Java-Seite einfach, aber es gibt einige Quarz-Trigger, bei denen com.core.Person auf die alte com.core.Address-Klasse als Teil ihrer Jobdaten-Map verweist. Es könnte irgendwo in der Karte sein.

Ich habe versucht ein paar Ansätze, wie das Schreiben eines Adapters, der wie ein gemeinsamer Boden zwischen 2 Java-Programmen, die schließlich ersetzen die Ols-Klasse mit dem neuen. Was wäre der beste Weg, dies zu lösen?

Danke, Chris.

+0

ändern Warum nicht, können Sie einfach den Code aktualisieren das richtige Paket zu verweisen? – jzd

+1

Ich habe den Code überarbeitet, da ist kein Problem damit. Quartz speichert Karten als Teil seiner Auftragsdaten in der Datenbank. Viele dieser Karten haben Objekte der alten Personenklasse. Es könnte irgendwo in der Karte sein. – ChrisOdney

+0

Quartz verwendet keine Datenbank. Ihre Bewerbung muss sie beibehalten. Ich denke nicht, dass Quartz hier helfen kann. Sie müssen die alten serialisierten Zuordnungen löschen. – kvista

Antwort

1

Sie müssen die Daten in Spalte qrtz_job_details.job_class_name