Event Publisher/Subscriber Example

This program models event driven architecture.

Problem Statement

Write a Java program where Publisher sends events to Subscribers.

Source Code

1 import java.util.*;
2 interface Subscriber { void update(String event); }
3 class Publisher {
4 List<Subscriber> subs=new ArrayList<>();
5 void addSubscriber(Subscriber s){ subs.add(s); }
6 void publish(String event){ for(Subscriber s:subs) s.update(event); }
7 }
8 class ConcreteSubscriber implements Subscriber {
9 String name;
10 ConcreteSubscriber(String n){ name=n; }
11 public void update(String event){ System.out.println(name+" received event: "+event); }
12 }
13 public class EventDrivenBasic {
14 public static void main(String[] args) {
15 System.out.println("Eduinq Event Driven Basic");
16 Publisher p=new Publisher();
17 p.addSubscriber(new ConcreteSubscriber("Sub1"));
18 p.addSubscriber(new ConcreteSubscriber("Sub2"));
19 p.publish("OrderCreated");
20 }
21 }

Program Output

Eduinq Event Driven Basic
Sub1 received event: OrderCreated
Sub2 received event: OrderCreated

Explanation

Publisher emits events. - Subscribers react to events. - This models event driven architecture in enterprise systems. Conclusion: Shows event driven system example.

Quick Links to Explore