Maison  >  Article  >  Java  >  Introduction à la surveillance des événements Springboot (avec code)

Introduction à la surveillance des événements Springboot (avec code)

不言
不言avant
2019-04-12 10:36:063659parcourir

Cet article vous présente une introduction à la surveillance des événements Springboot (avec code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Définir les événements

@Getter
public class TestEvent extends ApplicationEvent {
   private String msg;

   public TestEvent(Object source, String msg) {
       super(source);
       this.msg = msg;
   }
}

Définir la surveillance des événements (méthode d'annotation)

 @Component
 public class TestListen {
   @EventListener
   public void testListen(TestEvent event) {
       System.out.println(event.getMsg());
   }
}

Remarque : annotation @Component

Publier l'événement

@Autowired
private ApplicationContext publiser;

@GetMapping("test-listen")
public void testListen() {
    for (int i = 0; i < 10; i++) {
        System.out.println("i = " + i);
    }
    publiser.publishEvent(new TestEvent(this, "测试事件监听"));
    for (int j = 0; j < 10; j++) {
       System.out.println("j = " + j);
   }
}

Séquence d'exécution lors du test :

  1. i loop
  2. Imprimer "event = [ Écoute d'événement de test]"
  3. boucle j

Écoute asynchrone

Écoute plus annotation @Async

@Component
public class TestListen {
   @EventListener
   @Async
   public void testListen(TestEvent event) {
       for (int i = 0; i < 10; i++) {
           System.out.println("event = [" + event.getMsg() + "]");
       }
   }
}

Séquence d'exécution pendant les tests :

  1. i loop
  2. j loop
  3. Print "event = [test event listening]"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer