1
14
15 package com.liferay.portal.kernel.messaging;
16
17 import java.util.Set;
18 import java.util.concurrent.ThreadPoolExecutor;
19
20
30 public class ParallelDestination extends BaseDestination {
31
32 public ParallelDestination() {
33 }
34
35
38 public ParallelDestination(String name) {
39 super(name);
40 }
41
42
45 public ParallelDestination(
46 String name, int workersCoreSize, int workersMaxSize) {
47
48 super(name, workersCoreSize, workersMaxSize);
49 }
50
51 protected void dispatch(
52 Set<MessageListener> messageListeners, final Message message) {
53
54 ThreadPoolExecutor threadPoolExecutor = getThreadPoolExecutor();
55
56 for (final MessageListener messageListener : messageListeners) {
57 Runnable runnable = new Runnable() {
58
59 public void run() {
60 messageListener.receive(message);
61 }
62
63 };
64
65 threadPoolExecutor.execute(runnable);
66 }
67 }
68
69 }