@Override
    public void process(final Exchange exchange) throws Exception {
        component.getRoutingProcessor(configuration.getChannel())
                .process(exchange);
    }
@Test
    void testProcessAsynchronousWithException() {
        when(configuration.getChannel()).thenReturn("testChannel");
        when(configuration.isSynchronous()).thenReturn(true);
        when(component.getRoutingProcessor(anyString())).thenReturn(processor);
        doNothing().when(exchange).setException(any(Throwable.class));
        doThrow(new IllegalArgumentException("Catch me, since I am a test exception!"))
                .when(processor).process(exchange, asyncCallback);
        boolean result = producer.process(exchange, asyncCallback);
        assertTrue(result);
    }