Per qualche motivo i miei osservatori non vengono avvisati quando chiamo i metodi notifyObserver, utilizzando gli oggetti java.util.Observable:Java Observer modello non notificare
Ecco il mio oggetto osservabile:
public class ProjectManager extends Observable
{
...
public void updateProjects(String project, String pack, String source, String ARN)
{
...
if(newSource)
{
tempPack.add(tempSource);
System.out.println("Notify observers: " + this.countObservers());
this.notifyObservers();
}
...
}
posso vedere dalla mia uscita che l'osservatore viene aggiunto ma non viene notificato.
e il mio oggetto osservatore guarda in questo modo:
public class IDE implements Observer
{
@Override
public void update(Observable o, Object arg) {
System.out.println("Notified");
}
Per qualche strana ragione l'oggetto osservabile non viene notificato a tutti. Sto facendo qualcosa di sbagliato qui?
+1. Un altro motivo per non apprezzare l'implementazione 'Observable' di Java. –
bit di un trucchetto importante ma immagino che possa avere senso da un punto di vista transazionale. –