Search in sources :

Example 1 with ThreadPoolExecutorDispatcher

use of reactor.core.dispatch.ThreadPoolExecutorDispatcher in project cloudbreak by hortonworks.

the class ReactorFlowManagerTest method setUp.

@Before
public void setUp() {
    reset(reactor);
    reset(eventFactory);
    when(reactor.notify((Object) anyObject(), any(Event.class))).thenReturn(new EventBus(new ThreadPoolExecutorDispatcher(1, 1)));
    Acceptable acceptable = new Acceptable() {

        @Override
        public Promise<Boolean> accepted() {
            Promise<Boolean> a = new Promise<>();
            a.accept(true);
            return a;
        }

        @Override
        public Long getStackId() {
            return stackId;
        }
    };
    Stack stack = TestUtil.stack();
    stack.setCluster(TestUtil.cluster());
    when(stackService.get(anyLong())).thenReturn(stack);
    when(stackService.getById(anyLong())).thenReturn(TestUtil.stack());
    when(stackService.getByIdView(anyLong())).thenReturn(TestUtil.stackView());
    when(eventFactory.createEventWithErrHandler(anyObject())).thenReturn(new Event<>(acceptable));
}
Also used : Promise(reactor.rx.Promise) Acceptable(com.sequenceiq.cloudbreak.cloud.Acceptable) Event(reactor.bus.Event) ClusterTerminationEvent(com.sequenceiq.cloudbreak.core.flow2.cluster.termination.ClusterTerminationEvent) ThreadPoolExecutorDispatcher(reactor.core.dispatch.ThreadPoolExecutorDispatcher) EventBus(reactor.bus.EventBus) Stack(com.sequenceiq.cloudbreak.domain.Stack) Before(org.junit.Before)

Example 2 with ThreadPoolExecutorDispatcher

use of reactor.core.dispatch.ThreadPoolExecutorDispatcher in project cloudbreak by hortonworks.

the class EventBusConfig method getEventBusDispatcher.

private Dispatcher getEventBusDispatcher() {
    ClassLoader context = new ClassLoader(Thread.currentThread().getContextClassLoader()) {
    };
    MDCCleanerThreadPoolExecutor executorService = new MDCCleanerThreadPoolExecutor(eventBusThreadPoolSize, eventBusThreadPoolSize, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(eventBusThreadPoolSize), new NamedDaemonThreadFactory("reactorDispatcher", context), (r, executor) -> r.run());
    return new ThreadPoolExecutorDispatcher(eventBusThreadPoolSize, eventBusThreadPoolSize, executorService);
}
Also used : MDCCleanerThreadPoolExecutor(com.sequenceiq.cloudbreak.concurrent.MDCCleanerThreadPoolExecutor) ThreadPoolExecutorDispatcher(reactor.core.dispatch.ThreadPoolExecutorDispatcher) NamedDaemonThreadFactory(reactor.core.support.NamedDaemonThreadFactory)

Aggregations

ThreadPoolExecutorDispatcher (reactor.core.dispatch.ThreadPoolExecutorDispatcher)2 Acceptable (com.sequenceiq.cloudbreak.cloud.Acceptable)1 MDCCleanerThreadPoolExecutor (com.sequenceiq.cloudbreak.concurrent.MDCCleanerThreadPoolExecutor)1 ClusterTerminationEvent (com.sequenceiq.cloudbreak.core.flow2.cluster.termination.ClusterTerminationEvent)1 Stack (com.sequenceiq.cloudbreak.domain.Stack)1 Before (org.junit.Before)1 Event (reactor.bus.Event)1 EventBus (reactor.bus.EventBus)1 NamedDaemonThreadFactory (reactor.core.support.NamedDaemonThreadFactory)1 Promise (reactor.rx.Promise)1