1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.openehealth.ipf.commons.audit.queue;
18
19 import lombok.Getter;
20 import org.openehealth.ipf.commons.audit.AuditContext;
21 import org.openehealth.ipf.commons.audit.model.AuditMessage;
22
23 import java.util.List;
24
25 import static java.util.Objects.requireNonNull;
26
27
28
29
30
31 public class CompositeAuditMessageQueue implements AuditMessageQueue {
32
33 @Getter
34 private List<AuditMessageQueue> queues;
35
36 public CompositeAuditMessageQueue(List<AuditMessageQueue> queues) {
37 this.queues = requireNonNull(queues);
38 }
39
40 @Override
41 public void audit(AuditContext auditContext, AuditMessage... auditMessages) {
42 queues.forEach(q -> q.audit(auditContext, auditMessages));
43 }
44
45 @Override
46 public void flush() {
47 queues.forEach(AuditMessageQueue::flush);
48 }
49
50 @Override
51 public void shutdown() {
52 queues.forEach(AuditMessageQueue::shutdown);
53 }
54 }