Creare Eventbus in Java e Guava

Mattepuffo's logo
Creare Eventbus in Java e Guava

Creare Eventbus in Java e Guava

Un Eventbus è un meccanismo attraverso il quale diversi componenti comunicano tra di loro senza avere informazioni l'uni sugli altri.

Oggi vediamo un esempio basico su come creare questi eventi in Java usando Guava; se usate Maven:

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>30.1-jre</version>
        </dependency>

Poi creiamo una classe che ci farà da listener:

import com.google.common.eventbus.Subscribe;
import java.util.ArrayList;
import java.util.List;

public class CustomListener {

    private static int countEvt;
    private static List<String> eventsList = new ArrayList<>();

    @Subscribe
    public void myEvent(String evt) {
        System.out.println(evt);
        countEvt++;
    }

    public int getCountEvents() {
        return countEvt;
    }

}

Poi richiamiamo il listener così:

import com.google.common.eventbus.EventBus;

public class Main {

    public static void main(String[] args) {
        EventBus eventBus = new EventBus();
        CustomListener listener = new CustomListener();
        eventBus.register(listener);
        eventBus.post("EVT 1");
        eventBus.post("EVT 2");
        System.out.println(listener.getCountEvents());
    }
}

Enjoy!


Condividi su Facebook

Commentami!