Search in sources :

Example 16 with DefaultEventHandler

use of com.adaptris.core.DefaultEventHandler in project interlok by adaptris.

the class PooledSplitJoinServiceTest method testService_IgnoreExceptions.

@Test
public void testService_IgnoreExceptions() throws Exception {
    PooledSplitJoinService service = new PooledSplitJoinService();
    service.setServiceErrorHandler(new IgnoreAllExceptions());
    service.setSplitter(new LineCountSplitter(1));
    service.setService(asCollection(new MockExceptionStrategyService(MockExceptionStrategyService.MODE.ERROR)));
    service.setPoolsize(10);
    service.setTimeout(new TimeInterval(5L, TimeUnit.SECONDS));
    service.setAggregator(new AppendingMessageAggregator());
    service.registerEventHandler(LifecycleHelper.initAndStart(new DefaultEventHandler()));
    AdaptrisMessage msg = createLineCountMessageInput(50);
    execute(service, msg);
    List<String> result = IOUtils.readLines(msg.getReader());
    // Using an appending message aggregator just means that we double up on the original message...
    // Since we aren't doing any filtering... then we will always get 100 msgs.
    assertEquals(50 * 2, result.size());
}
Also used : TimeInterval(com.adaptris.util.TimeInterval) DefaultEventHandler(com.adaptris.core.DefaultEventHandler) AdaptrisMessage(com.adaptris.core.AdaptrisMessage) AppendingMessageAggregator(com.adaptris.core.services.aggregator.AppendingMessageAggregator) Test(org.junit.Test)

Example 17 with DefaultEventHandler

use of com.adaptris.core.DefaultEventHandler in project interlok by adaptris.

the class PooledSplitJoinServiceTest method testService_Events.

@Test
public void testService_Events() throws Exception {
    PooledSplitJoinService service = new PooledSplitJoinService();
    MockMessageProducer events = new MockMessageProducer();
    service.setAggregator(new AppendingMessageAggregator());
    service.setSplitter(new LineCountSplitter(1));
    service.setPoolsize(10);
    service.setTimeout(new TimeInterval(10L, TimeUnit.SECONDS));
    service.setService(new WaitService(new TimeInterval(100L, TimeUnit.MILLISECONDS), true));
    service.setSendEvents(true);
    service.registerEventHandler(LifecycleHelper.initAndStart(new DefaultEventHandler(events)));
    AdaptrisMessage msg = createLineCountMessageInput(50);
    ExampleServiceCase.execute(service, msg);
    List<String> result = IOUtils.readLines(msg.getReader());
    // Using an appending message aggregator just means that we double up on the original message...
    assertEquals(50 * 2, result.size());
    // Check we got 50 events.
    assertEquals(50, events.getMessages().size());
}
Also used : WaitService(com.adaptris.core.services.WaitService) MockMessageProducer(com.adaptris.core.stubs.MockMessageProducer) TimeInterval(com.adaptris.util.TimeInterval) DefaultEventHandler(com.adaptris.core.DefaultEventHandler) AdaptrisMessage(com.adaptris.core.AdaptrisMessage) AppendingMessageAggregator(com.adaptris.core.services.aggregator.AppendingMessageAggregator) Test(org.junit.Test)

Example 18 with DefaultEventHandler

use of com.adaptris.core.DefaultEventHandler in project interlok by adaptris.

the class PooledSplitJoinServiceTest method testService_DidSomeWork.

@Test
public void testService_DidSomeWork() throws Exception {
    PooledSplitJoinService service = new PooledSplitJoinService();
    service.setServiceErrorHandler(new NoExceptionIfWorkDone().withMetadataKey(NoExceptionIfWorkDone.DEFAULT_METADATA_KEY));
    service.setSplitter(new LineCountSplitter(1));
    service.setService(asCollection(new MockExceptionStrategyService(MockExceptionStrategyService.MODE.MIXED)));
    service.setPoolsize(10);
    service.setTimeout(new TimeInterval(5L, TimeUnit.SECONDS));
    service.setAggregator(new AppendingMessageAggregator());
    service.registerEventHandler(LifecycleHelper.initAndStart(new DefaultEventHandler()));
    AdaptrisMessage msg = createLineCountMessageInput(50);
    execute(service, msg);
    List<String> result = IOUtils.readLines(msg.getReader());
    // Using an appending message aggregator just means that we double up on the original message...
    // Since we aren't doing any filtering... then we will always get 100 msgs.
    assertEquals(50 * 2, result.size());
}
Also used : TimeInterval(com.adaptris.util.TimeInterval) DefaultEventHandler(com.adaptris.core.DefaultEventHandler) AdaptrisMessage(com.adaptris.core.AdaptrisMessage) AppendingMessageAggregator(com.adaptris.core.services.aggregator.AppendingMessageAggregator) Test(org.junit.Test)

Example 19 with DefaultEventHandler

use of com.adaptris.core.DefaultEventHandler in project interlok by adaptris.

the class AdvancedMessageSplitterServiceTest method testDoServiceWithFailures_SendEventsFalse.

@Test
public void testDoServiceWithFailures_SendEventsFalse() throws Exception {
    MockMessageProducer producer = new MockMessageProducer();
    AdaptrisMessage msg = createMessage(REGEXP_DATA);
    AdvancedMessageSplitterService service = createAdvanced(new SimpleRegexpMessageSplitter("\\|"), new Service[] { new ThrowExceptionService(new ConfiguredException("Fail")), new StandaloneProducer(producer) });
    DefaultEventHandler eh = new DefaultEventHandler();
    MockMessageProducer ehp = new MockMessageProducer();
    eh.setProducer(ehp);
    LifecycleHelper.initAndStart(eh);
    service.registerEventHandler(eh);
    service.setSendEvents(false);
    try {
        ExampleServiceCase.execute(service, msg);
        fail("Expecting failure from AlwaysFailService");
    } catch (ServiceException expected) {
        ;
    }
    LifecycleHelper.stopAndClose(eh);
    assertEvents(ehp, 0, MessageLifecycleEvent.class);
}
Also used : MockMessageProducer(com.adaptris.core.stubs.MockMessageProducer) ServiceException(com.adaptris.core.ServiceException) AdaptrisMessage(com.adaptris.core.AdaptrisMessage) DefaultEventHandler(com.adaptris.core.DefaultEventHandler) ThrowExceptionService(com.adaptris.core.services.exception.ThrowExceptionService) ConfiguredException(com.adaptris.core.services.exception.ConfiguredException) StandaloneProducer(com.adaptris.core.StandaloneProducer) Test(org.junit.Test)

Example 20 with DefaultEventHandler

use of com.adaptris.core.DefaultEventHandler in project interlok by adaptris.

the class AdvancedMessageSplitterServiceTest method testDoServiceWithEventHandler_SendEventsTrue.

@Test
public void testDoServiceWithEventHandler_SendEventsTrue() throws Exception {
    MockMessageProducer producer = new MockMessageProducer();
    AdvancedMessageSplitterService service = createServiceImpl(new SimpleRegexpMessageSplitter("\\|"), producer);
    AdaptrisMessage msg = createMessage(REGEXP_DATA);
    DefaultEventHandler eh = new DefaultEventHandler();
    MockMessageProducer ehp = new MockMessageProducer();
    eh.setProducer(ehp);
    eh.requestStart();
    service.registerEventHandler(eh);
    service.setSendEvents(true);
    ExampleServiceCase.execute(service, msg);
    eh.requestClose();
    assertEquals("Number of messages", 4, producer.getMessages().size());
    assertEquals("splitCount metadata", 4, Integer.parseInt(msg.getMetadataValue(MessageSplitterServiceImp.KEY_SPLIT_MESSAGE_COUNT)));
    assertEvents(ehp, 4, MessageLifecycleEvent.class);
    int count = 0;
    for (AdaptrisMessage m : producer.getMessages()) {
        count++;
        assertEquals(count, Integer.parseInt(m.getMetadataValue(KEY_CURRENT_SPLIT_MESSAGE_COUNT)));
    }
}
Also used : MockMessageProducer(com.adaptris.core.stubs.MockMessageProducer) AdaptrisMessage(com.adaptris.core.AdaptrisMessage) DefaultEventHandler(com.adaptris.core.DefaultEventHandler) Test(org.junit.Test)

Aggregations

DefaultEventHandler (com.adaptris.core.DefaultEventHandler)21 Test (org.junit.Test)18 AdaptrisMessage (com.adaptris.core.AdaptrisMessage)12 AppendingMessageAggregator (com.adaptris.core.services.aggregator.AppendingMessageAggregator)6 MockMessageProducer (com.adaptris.core.stubs.MockMessageProducer)6 TimeInterval (com.adaptris.util.TimeInterval)6 ServiceException (com.adaptris.core.ServiceException)3 ConfiguredException (com.adaptris.core.services.exception.ConfiguredException)3 ThrowExceptionService (com.adaptris.core.services.exception.ThrowExceptionService)3 Adapter (com.adaptris.core.Adapter)2 Channel (com.adaptris.core.Channel)2 NullService (com.adaptris.core.NullService)2 StandaloneProducer (com.adaptris.core.StandaloneProducer)2 AdapterShutdownEvent (com.adaptris.core.event.AdapterShutdownEvent)2 BootstrapProperties (com.adaptris.core.management.BootstrapProperties)2 WaitService (com.adaptris.core.services.WaitService)2 JunitBootstrapProperties (com.adaptris.core.stubs.JunitBootstrapProperties)2 StaticMockEventProducer (com.adaptris.core.stubs.StaticMockEventProducer)2 URLString (com.adaptris.util.URLString)2 Properties (java.util.Properties)2