Ich habe eine Methode, die jede Minute von einem Scheduler aufgerufen wird, um eine Datei von ftp zu erhalten, verarbeitet und persistent ihre Datensätze in einem DB. Ich brauche dieses Themas sicher zu machen, so dass, wenn das Verfahren mehrere Dateien auf einmal zu erfüllen hat, ist es eine wirkt in einem Thread sichere Art und Weise ..Erstellen einer geplanten Methode Thread sicher
public synchronized void processData(String data){
//do processing
}
ist dies wirklich ein Thread sichere Methode sein würde, die behandelt hohe Ladevolumen anmutig?
in meinem Szenario, stellen Sie sich vor, der Scheduler wird um 11:00 Uhr aufgerufen, die 1000 Dateien in der ProcessData-Methode verarbeitet wird. Der Scheduler ist so konfiguriert, dass er alle 1 Minute startet und in 11:01 erneut aufgerufen wird. Die Verarbeitung der ersten 1000 Dateien ist jedoch nicht abgeschlossen. Was wird der beste Weg sein, dieses Szenario anzugehen? 1. Synchronisiertes Schlüsselwort in Methode eliminieren 2.Starten Sie einen neuen Thread für jeden Dateiprozess ? – Sanath