1515import java .time .Instant ;
1616import java .time .LocalDateTime ;
1717import java .time .ZoneId ;
18- import java .util .concurrent .ExecutorService ;
19- import java .util .concurrent .Executors ;
20- import java .util .concurrent .ThreadFactory ;
18+ import java .util .concurrent .*;
2119import java .util .concurrent .atomic .AtomicInteger ;
2220
2321import org .eclipse .microprofile .config .inject .ConfigProperty ;
@@ -52,11 +50,16 @@ public ReService(
5250 public Thread newThread (Runnable r ) {
5351 Thread t = new Thread (r );
5452 t .setName ("re-event-sender-" + counter .getAndIncrement ());
53+ t .setDaemon (true );
5554 return t ;
5655 }
5756 });
5857 }
5958
59+ public void shutdown () {
60+ eventExecutor .shutdown ();
61+ }
62+
6063 @ Transactional (Transactional .TxType .NOT_SUPPORTED )
6164 public void sendEvent (ReEvent ... reEvents ) {
6265 // fire and forget
@@ -77,20 +80,25 @@ private void storeEvents(ReEvent... reEvents) {
7780
7881 for (ReEvent reEvent : reEvents ) {
7982 try {
80- // Store request and response payload as BLOB file
81- writeBlobsIfExist (reEvent );
82-
83- // Store RE event in collection
84- ReEventEntity entity = reEventMapper .toEntity (reEvent );
85- entity .persist ();
86- log .debugf ("RE Event [%s] saved" , entity .id );
83+ storeEvent (reEvent );
8784 } catch (Exception e ) {
8885 log .errorf ("Errore durante il salvataggio dell'evento %s: %s" , reEvent , e .getMessage (), e );
8986 }
9087 }
9188 }
9289 }
9390
91+ void storeEvent (ReEvent reEvent ) {
92+ // Store request and response payload as BLOB file
93+ writeBlobsIfExist (reEvent );
94+
95+ // Store RE event in collection
96+ ReEventEntity entity = reEventMapper .toEntity (reEvent );
97+ entity .persist ();
98+
99+ log .debugf ("RE Event [%s] saved" , entity .id );
100+ }
101+
94102 private void writeBlobsIfExist (ReEvent reEvent ) {
95103
96104 // Store request payload as BLOB file
0 commit comments