Search in sources :

Example 56 with Consumer

use of org.apache.camel.Consumer in project camel by apache.

the class MongoDbEndpoint method createConsumer.

public Consumer createConsumer(Processor processor) throws Exception {
    validateOptions('C');
    // we never create the collection
    createCollection = false;
    initializeConnection();
    // select right consumer type
    if (consumerType == null) {
        consumerType = MongoDbConsumerType.tailable;
    }
    Consumer consumer;
    if (consumerType == MongoDbConsumerType.tailable) {
        consumer = new MongoDbTailableCursorConsumer(this, processor);
    } else {
        throw new CamelMongoDbException("Consumer type not supported: " + consumerType);
    }
    configureConsumer(consumer);
    return consumer;
}
Also used : Consumer(org.apache.camel.Consumer)

Example 57 with Consumer

use of org.apache.camel.Consumer in project camel by apache.

the class SmppEndpointTest method createConsumerShouldReturnASmppConsumer.

@Test
public void createConsumerShouldReturnASmppConsumer() throws Exception {
    Processor processor = createMock(Processor.class);
    replay(processor);
    Consumer consumer = endpoint.createConsumer(processor);
    verify(processor);
    assertTrue(consumer instanceof SmppConsumer);
}
Also used : Processor(org.apache.camel.Processor) Consumer(org.apache.camel.Consumer) Test(org.junit.Test)

Example 58 with Consumer

use of org.apache.camel.Consumer in project camel by apache.

the class DirectEndpoint method createConsumer.

public Consumer createConsumer(Processor processor) throws Exception {
    Consumer answer = new DirectConsumer(this, processor);
    configureConsumer(answer);
    return answer;
}
Also used : Consumer(org.apache.camel.Consumer)

Example 59 with Consumer

use of org.apache.camel.Consumer in project camel by apache.

the class DefaultManagementLifecycleStrategy method getManagedObjectForService.

@SuppressWarnings("unchecked")
private Object getManagedObjectForService(CamelContext context, Service service, Route route) {
    // skip channel, UoW and dont double wrap instrumentation
    if (service instanceof Channel || service instanceof UnitOfWork || service instanceof InstrumentationProcessor) {
        return null;
    }
    // skip non managed services
    if (service instanceof NonManagedService) {
        return null;
    }
    Object answer = null;
    if (service instanceof ManagementAware) {
        return ((ManagementAware<Service>) service).getManagedObject(service);
    } else if (service instanceof Tracer) {
        // special for tracer
        Tracer tracer = (Tracer) service;
        ManagedTracer mt = managedTracers.get(tracer);
        if (mt == null) {
            mt = new ManagedTracer(context, tracer);
            mt.init(getManagementStrategy());
            managedTracers.put(tracer, mt);
        }
        return mt;
    } else if (service instanceof BacklogTracer) {
        // special for backlog tracer
        BacklogTracer backlogTracer = (BacklogTracer) service;
        ManagedBacklogTracer mt = managedBacklogTracers.get(backlogTracer);
        if (mt == null) {
            mt = new ManagedBacklogTracer(context, backlogTracer);
            mt.init(getManagementStrategy());
            managedBacklogTracers.put(backlogTracer, mt);
        }
        return mt;
    } else if (service instanceof BacklogDebugger) {
        // special for backlog debugger
        BacklogDebugger backlogDebugger = (BacklogDebugger) service;
        ManagedBacklogDebugger md = managedBacklogDebuggers.get(backlogDebugger);
        if (md == null) {
            md = new ManagedBacklogDebugger(context, backlogDebugger);
            md.init(getManagementStrategy());
            managedBacklogDebuggers.put(backlogDebugger, md);
        }
        return md;
    } else if (service instanceof DataFormat) {
        answer = getManagementObjectStrategy().getManagedObjectForDataFormat(context, (DataFormat) service);
    } else if (service instanceof Producer) {
        answer = getManagementObjectStrategy().getManagedObjectForProducer(context, (Producer) service);
    } else if (service instanceof Consumer) {
        answer = getManagementObjectStrategy().getManagedObjectForConsumer(context, (Consumer) service);
    } else if (service instanceof Processor) {
        // special for processors as we need to do some extra work
        return getManagedObjectForProcessor(context, (Processor) service, route);
    } else if (service instanceof ThrottlingInflightRoutePolicy) {
        answer = new ManagedThrottlingInflightRoutePolicy(context, (ThrottlingInflightRoutePolicy) service);
    } else if (service instanceof ThrottlingExceptionRoutePolicy) {
        answer = new ManagedThrottlingExceptionRoutePolicy(context, (ThrottlingExceptionRoutePolicy) service);
    } else if (service instanceof ConsumerCache) {
        answer = new ManagedConsumerCache(context, (ConsumerCache) service);
    } else if (service instanceof ProducerCache) {
        answer = new ManagedProducerCache(context, (ProducerCache) service);
    } else if (service instanceof DefaultEndpointRegistry) {
        answer = new ManagedEndpointRegistry(context, (DefaultEndpointRegistry) service);
    } else if (service instanceof TypeConverterRegistry) {
        answer = new ManagedTypeConverterRegistry(context, (TypeConverterRegistry) service);
    } else if (service instanceof RestRegistry) {
        answer = new ManagedRestRegistry(context, (RestRegistry) service);
    } else if (service instanceof InflightRepository) {
        answer = new ManagedInflightRepository(context, (InflightRepository) service);
    } else if (service instanceof AsyncProcessorAwaitManager) {
        answer = new ManagedAsyncProcessorAwaitManager(context, (AsyncProcessorAwaitManager) service);
    } else if (service instanceof RuntimeEndpointRegistry) {
        answer = new ManagedRuntimeEndpointRegistry(context, (RuntimeEndpointRegistry) service);
    } else if (service instanceof StreamCachingStrategy) {
        answer = new ManagedStreamCachingStrategy(context, (StreamCachingStrategy) service);
    } else if (service instanceof EventNotifier) {
        answer = getManagementObjectStrategy().getManagedObjectForEventNotifier(context, (EventNotifier) service);
    } else if (service instanceof TransformerRegistry) {
        answer = new ManagedTransformerRegistry(context, (TransformerRegistry) service);
    } else if (service instanceof ValidatorRegistry) {
        answer = new ManagedValidatorRegistry(context, (ValidatorRegistry) service);
    } else if (service instanceof RuntimeCamelCatalog) {
        answer = new ManagedRuntimeCamelCatalog(context, (RuntimeCamelCatalog) service);
    } else if (service != null) {
        // fallback as generic service
        answer = getManagementObjectStrategy().getManagedObjectForService(context, service);
    }
    if (answer != null && answer instanceof ManagedService) {
        ManagedService ms = (ManagedService) answer;
        ms.setRoute(route);
        ms.init(getManagementStrategy());
    }
    return answer;
}
Also used : ManagedAsyncProcessorAwaitManager(org.apache.camel.management.mbean.ManagedAsyncProcessorAwaitManager) UnitOfWork(org.apache.camel.spi.UnitOfWork) CamelInternalProcessor(org.apache.camel.processor.CamelInternalProcessor) Processor(org.apache.camel.Processor) InflightRepository(org.apache.camel.spi.InflightRepository) ManagedInflightRepository(org.apache.camel.management.mbean.ManagedInflightRepository) ManagedTracer(org.apache.camel.management.mbean.ManagedTracer) ManagedRestRegistry(org.apache.camel.management.mbean.ManagedRestRegistry) ManagedThrottlingInflightRoutePolicy(org.apache.camel.management.mbean.ManagedThrottlingInflightRoutePolicy) RestRegistry(org.apache.camel.spi.RestRegistry) ManagedRestRegistry(org.apache.camel.management.mbean.ManagedRestRegistry) ManagedValidatorRegistry(org.apache.camel.management.mbean.ManagedValidatorRegistry) DefaultValidatorRegistry(org.apache.camel.impl.DefaultValidatorRegistry) ValidatorRegistry(org.apache.camel.spi.ValidatorRegistry) ManagedRuntimeCamelCatalog(org.apache.camel.management.mbean.ManagedRuntimeCamelCatalog) DefaultEndpointRegistry(org.apache.camel.impl.DefaultEndpointRegistry) ManagedConsumerCache(org.apache.camel.management.mbean.ManagedConsumerCache) ManagedProducerCache(org.apache.camel.management.mbean.ManagedProducerCache) ProducerCache(org.apache.camel.impl.ProducerCache) ManagedStreamCachingStrategy(org.apache.camel.management.mbean.ManagedStreamCachingStrategy) ThrottlingInflightRoutePolicy(org.apache.camel.impl.ThrottlingInflightRoutePolicy) ManagedThrottlingInflightRoutePolicy(org.apache.camel.management.mbean.ManagedThrottlingInflightRoutePolicy) ManagedEndpointRegistry(org.apache.camel.management.mbean.ManagedEndpointRegistry) Consumer(org.apache.camel.Consumer) ManagedTypeConverterRegistry(org.apache.camel.management.mbean.ManagedTypeConverterRegistry) TypeConverterRegistry(org.apache.camel.spi.TypeConverterRegistry) EventNotifier(org.apache.camel.spi.EventNotifier) DataFormat(org.apache.camel.spi.DataFormat) ManagedThrottlingExceptionRoutePolicy(org.apache.camel.management.mbean.ManagedThrottlingExceptionRoutePolicy) DefaultTransformerRegistry(org.apache.camel.impl.DefaultTransformerRegistry) ManagedTransformerRegistry(org.apache.camel.management.mbean.ManagedTransformerRegistry) TransformerRegistry(org.apache.camel.spi.TransformerRegistry) ManagedService(org.apache.camel.management.mbean.ManagedService) NonManagedService(org.apache.camel.NonManagedService) ManagedBacklogTracer(org.apache.camel.management.mbean.ManagedBacklogTracer) BacklogTracer(org.apache.camel.processor.interceptor.BacklogTracer) ManagedBacklogDebugger(org.apache.camel.management.mbean.ManagedBacklogDebugger) ManagedBacklogTracer(org.apache.camel.management.mbean.ManagedBacklogTracer) Tracer(org.apache.camel.processor.interceptor.Tracer) BacklogTracer(org.apache.camel.processor.interceptor.BacklogTracer) ManagedTracer(org.apache.camel.management.mbean.ManagedTracer) Channel(org.apache.camel.Channel) ManagedAsyncProcessorAwaitManager(org.apache.camel.management.mbean.ManagedAsyncProcessorAwaitManager) AsyncProcessorAwaitManager(org.apache.camel.spi.AsyncProcessorAwaitManager) ManagedRuntimeCamelCatalog(org.apache.camel.management.mbean.ManagedRuntimeCamelCatalog) RuntimeCamelCatalog(org.apache.camel.catalog.RuntimeCamelCatalog) ManagedTypeConverterRegistry(org.apache.camel.management.mbean.ManagedTypeConverterRegistry) Producer(org.apache.camel.Producer) ManagedValidatorRegistry(org.apache.camel.management.mbean.ManagedValidatorRegistry) ManagedRuntimeEndpointRegistry(org.apache.camel.management.mbean.ManagedRuntimeEndpointRegistry) RuntimeEndpointRegistry(org.apache.camel.spi.RuntimeEndpointRegistry) ManagedInflightRepository(org.apache.camel.management.mbean.ManagedInflightRepository) ConsumerCache(org.apache.camel.impl.ConsumerCache) ManagedConsumerCache(org.apache.camel.management.mbean.ManagedConsumerCache) ManagedTransformerRegistry(org.apache.camel.management.mbean.ManagedTransformerRegistry) ManagedProducerCache(org.apache.camel.management.mbean.ManagedProducerCache) ManagementAware(org.apache.camel.spi.ManagementAware) StreamCachingStrategy(org.apache.camel.spi.StreamCachingStrategy) ManagedStreamCachingStrategy(org.apache.camel.management.mbean.ManagedStreamCachingStrategy) NonManagedService(org.apache.camel.NonManagedService) ManagedBacklogDebugger(org.apache.camel.management.mbean.ManagedBacklogDebugger) BacklogDebugger(org.apache.camel.processor.interceptor.BacklogDebugger) ManagedBacklogTracer(org.apache.camel.management.mbean.ManagedBacklogTracer) ManagedRuntimeEndpointRegistry(org.apache.camel.management.mbean.ManagedRuntimeEndpointRegistry) ThrottlingExceptionRoutePolicy(org.apache.camel.impl.ThrottlingExceptionRoutePolicy) ManagedThrottlingExceptionRoutePolicy(org.apache.camel.management.mbean.ManagedThrottlingExceptionRoutePolicy)

Example 60 with Consumer

use of org.apache.camel.Consumer in project camel by apache.

the class ScheduledPollConsumerBackoffTest method testBackoffIdle.

public void testBackoffIdle() throws Exception {
    final Endpoint endpoint = getMockEndpoint("mock:foo");
    MockScheduledPollConsumer consumer = new MockScheduledPollConsumer(endpoint, null);
    consumer.setBackoffMultiplier(4);
    consumer.setBackoffIdleThreshold(2);
    consumer.setPollStrategy(new PollingConsumerPollStrategy() {

        public boolean begin(Consumer consumer, Endpoint endpoint) {
            return true;
        }

        public void commit(Consumer consumer, Endpoint endpoint, int polledMessages) {
            commits++;
        }

        public boolean rollback(Consumer consumer, Endpoint endpoint, int retryCounter, Exception e) throws Exception {
            return false;
        }
    });
    consumer.start();
    consumer.run();
    consumer.run();
    assertEquals(2, commits);
    // now it should backoff 4 times
    consumer.run();
    consumer.run();
    consumer.run();
    consumer.run();
    assertEquals(2, commits);
    // and now we poll again
    consumer.run();
    consumer.run();
    assertEquals(4, commits);
    // now it should backoff 4 times
    consumer.run();
    consumer.run();
    consumer.run();
    consumer.run();
    assertEquals(4, commits);
    consumer.run();
    assertEquals(5, commits);
    consumer.stop();
}
Also used : Endpoint(org.apache.camel.Endpoint) Consumer(org.apache.camel.Consumer) PollingConsumerPollStrategy(org.apache.camel.spi.PollingConsumerPollStrategy) Endpoint(org.apache.camel.Endpoint)

Aggregations

Consumer (org.apache.camel.Consumer)76 Endpoint (org.apache.camel.Endpoint)27 Processor (org.apache.camel.Processor)19 Exchange (org.apache.camel.Exchange)18 Test (org.junit.Test)18 HashMap (java.util.HashMap)10 RestConfiguration (org.apache.camel.spi.RestConfiguration)10 Producer (org.apache.camel.Producer)7 PollingConsumer (org.apache.camel.PollingConsumer)6 File (java.io.File)5 PollingConsumerPollStrategy (org.apache.camel.spi.PollingConsumerPollStrategy)5 FileNotFoundException (java.io.FileNotFoundException)4 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)4 SuspendableService (org.apache.camel.SuspendableService)4 ArrayList (java.util.ArrayList)3 CountDownLatch (java.util.concurrent.CountDownLatch)3 CamelContext (org.apache.camel.CamelContext)3 Component (org.apache.camel.Component)3 NoSuchBeanException (org.apache.camel.NoSuchBeanException)3 Route (org.apache.camel.Route)3