Üzenetfeldolgozó mintarendszer

Egy távoli kliens a TaskQueue üzenetsorra helyez egy adott verziószámmal ellátott üzenetet. A TaskQueue-ra két feladatfeldolgozó (TaskProcessor1/2) csatlakozik pont-pont séma szerint. Ha a verziószám nem egyezik meg az aktuálissal, akkor az üzenetet áthelyezik az InvalidQueue-ra. Az InvalidHandler komponens feldolgozza az InvalidQueue-ra érkező üzeneteket, vár 5000ms-ot és visszeküldi a TaskQueue-ra.

Forráskód

Feladat

1. A TaskSender projektben indítsuk el a SendTask-ot.

  14:36:22,021 INFO  [stdout] (Thread-80 (ActiveMQ-client-global-threads)) Az üzenet ekkor megérkezett (TaskGenerator1): Mon Apr 16 14:36:22 CEST 2018
  14:36:22,022 INFO  [stdout] (Thread-80 (ActiveMQ-client-global-threads)) Az üzenet verziója: 1.1
  14:36:22,022 INFO  [stdout] (Thread-80 (ActiveMQ-client-global-threads)) Üzenet feldolgozva.

2. A SendTask.java 30. sorában növeljük a verziószámot 2.0-ra és indítsuk újra a SendTask-ot.

  14:55:51,403 INFO  [stdout] (Thread-92 (ActiveMQ-client-global-threads)) Az üzenet verziója: 2.0
  14:55:51,431 INFO  [stdout] (Thread-93 (ActiveMQ-client-global-threads)) Az üzenet ekkor megérkezett (InvalidQueue): Mon Apr 16 14:55:51 CEST 2018
  14:55:56,437 INFO  [stdout] (Thread-93 (ActiveMQ-client-global-threads)) Üzenet elküldve az InvalidQueue-ra
  14:55:56,465 INFO  [stdout] (Thread-92 (ActiveMQ-client-global-threads)) Az üzenet ekkor megérkezett (TaskGenerator1): Mon Apr 16 14:55:56 CEST 2018
  14:55:56,465 INFO  [stdout] (Thread-92 (ActiveMQ-client-global-threads)) Az üzenet verziója: 2.0
  14:55:56,487 INFO  [stdout] (Thread-93 (ActiveMQ-client-global-threads)) Az üzenet ekkor megérkezett (InvalidQueue): Mon Apr 16 14:55:56 CEST 2018

Végtelen ciklusban újra és újra küldi az InvalidQueue az üzeneteket.

3. A TaskProcessor1 és 2 java-ban írjuk át a verziószámot 2.0-ra és töltsük újra a wildfly-ban. Ekkor a hibás üzenet feldolgozásra kerül.

 
tanszek/oktatas/informacios_rendszerek_integralasa/oesszetett_pelda_1.txt · Last modified: 2018/04/16 15:15 by admin
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki