Junior — Middle
How were the notification mechanisms implemented in the system?
sobes.tech AI
Answer from AI
In Java systems, notification mechanisms are usually implemented using the "Observer" pattern. This allows objects to subscribe to events and receive notifications when they occur.
An example of a simple implementation:
import java.util.ArrayList;
import java.util.List;
interface Observer {
void update(String message);
}
class Subject {
private List<Observer> observers = new ArrayList<>();
void addObserver(Observer observer) {
observers.add(observer);
}
void notifyObservers(String message) {
for (Observer o : observers) {
o.update(message);
}
}
}
class ConcreteObserver implements Observer {
private String name;
ConcreteObserver(String name) {
this.name = name;
}
@Override
public void update(String message) {
System.out.println(name + " received notification: " + message);
}
}
public class NotificationExample {
public static void main(String[] args) {
Subject subject = new Subject();
subject.addObserver(new ConcreteObserver("Observer1"));
subject.addObserver(new ConcreteObserver("Observer2"));
subject.notifyObservers("Event occurred!");
}
}
In more complex systems, specialized libraries and frameworks (e.g., Spring Events, JMS, Kafka) are used for asynchronous and distributed notifications.