Repository: Vantiq/vantiq-extension-sources (language: python)

Issue:
Exception in org.apache.camel.FailedToCreateRouteException
Hi,

I have the following yaml configration which seems right but I am getting an exception below which seems to be in our code
```
- route:
   id: "EventHub Sink"
   from:
      uri: "vantiq://server.config"
      steps:
      - choice:
          when:
          - simple: "${header[partition-id]}"
            steps:
            - set-header:
                name: CamelAzureEventHubsPartitionId
                simple: "${header[partition-id]}"
          - simple: "${header[ce-partition-id]}"
            steps:
            - set-header:
                name: CamelAzureEventHubsPartitionId
                simple: "${header[ce-partition-id]}"
      - setBody: 
          simple: "${body.message}"
      - marshal:
          json:
            library: jackson
      - to:
          uri: "azure-eventhubs://mmunro-test/mmunrohub"
          parameters:
            sharedAccessName: "mmunroHubSAS"
            sharedAccessKey: "RAW(MY TOKEN)"
```
What I am trying to do is replace the message body with a property of the body as the next steps is to pass the header properties in via another property

```
[ttps://internal.vantiq.com/...] bSocketListener#EventHubSource INFO  WebSocket open
[ttps://internal.vantiq.com/...] bSocketListener#EventHubSource DEBUG Auth received with no handler set
[ttps://internal.vantiq.com/...] bSocketListener#EventHubSource DEBUG Map of the received message: {op=configureExtension, resourceName=sources, isSystemResource=true, resourceId=EventHubSource, parameters={}, object={mapId=f65f58eb-1f3f-4024-a287-508e9614c366, config={camelRuntime={appName=EventHub, routesDocument=eventhub2.yml}}}, sessionId=28839fa4ad86b3294054d26e920dfe8e, contentType=application/json, responseType=application/json, skipMonitoring=false, isExternal=false, address=60dab836-dabd-4e8f-b857-354adbfef722, messageHeaders={}, subClusterKey=*all-sub-clusters*}
[ttps://internal.vantiq.com/...] bSocketListener#EventHubSource INFO  Successful connection to EventHubSource
[ttps://internal.vantiq.com/...] CamelHandleConfiguration       DEBUG Fetching contents of document eventhub2.yml from path /docs/eventhub2.yml.
[ttps://internal.vantiq.com/...] CamelRunner                    DEBUG Calling Run()
[ttps://internal.vantiq.com/...] CamelRunner                    DEBUG AwaitStarted()
[                      Thread-1] MainSupport                    INFO  Apache Camel (Main) 3.18.3 is starting
[                      Thread-1] LRUCacheFactory                DEBUG Creating DefaultLRUCacheFactory
[                      Thread-1] AbstractCamelContext           DEBUG Setting up management with factory: org.apache.camel.impl.engine.DefaultManagementStrategyFactory@270a0a78
[                      Thread-1] ResolverHelper                 DEBUG Found HealthCheckRegistry: org.apache.camel.impl.health.DefaultHealthCheckRegistry via: META-INF/services/org/apache/camel/health-check/default-registry
[                      Thread-1] ResolverHelper                 DEBUG Detected and using HealthCheckRegistry: org.apache.camel.impl.health.DefaultHealthCheckRegistry@190475a7
[                      Thread-1] DefaultHealthCheckRegistry     DEBUG HealthCheckRepository with id registry-health-check-repository successfully registered
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Loading file META-INF/services/org/apache/camel/TypeConverterLoader to retrieve list of type converters, from url: jar:file:/C:/Data/ExtensionSource/14032023/debug/camelConnector/lib/camel-jackson-3.18.3.jar!/META-INF/services/org/apache/camel/TypeConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Loading file META-INF/services/org/apache/camel/TypeConverterLoader to retrieve list of type converters, from url: jar:file:/C:/Data/ExtensionSource/14032023/debug/camelConnector/lib/camel-file-3.18.3.jar!/META-INF/services/org/apache/camel/TypeConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Loading file META-INF/services/org/apache/camel/TypeConverterLoader to retrieve list of type converters, from url: jar:file:/C:/Data/ExtensionSource/14032023/debug/camelConnector/lib/camel-xml-jaxp-3.18.3.jar!/META-INF/services/org/apache/camel/TypeConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Loading file META-INF/services/org/apache/camel/TypeConverterLoader to retrieve list of type converters, from url: jar:file:/C:/Data/ExtensionSource/14032023/debug/camelConnector/lib/camel-base-3.18.3.jar!/META-INF/services/org/apache/camel/TypeConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Loading file META-INF/services/org/apache/camel/TypeConverterLoader to retrieve list of type converters, from url: jar:file:/C:/Data/ExtensionSource/14032023/debug/camelConnector/lib/camel-support-3.18.3.jar!/META-INF/services/org/apache/camel/TypeConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Resolving TypeConverterLoader: org.apache.camel.component.jackson.converter.JacksonTypeConvertersLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG TypeConverterLoader: org.apache.camel.component.jackson.converter.JacksonTypeConvertersLoader loading converters
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Resolving TypeConverterLoader: org.apache.camel.component.file.GenericFileConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG TypeConverterLoader: org.apache.camel.component.file.GenericFileConverterLoader loading converters
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Resolving TypeConverterLoader: org.apache.camel.converter.jaxp.CamelXmlJaxpBulkConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG TypeConverterLoader: org.apache.camel.converter.jaxp.CamelXmlJaxpBulkConverterLoader loading converters
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Resolving TypeConverterLoader: org.apache.camel.converter.CamelBaseBulkConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG TypeConverterLoader: org.apache.camel.converter.CamelBaseBulkConverterLoader loading converters
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Resolving TypeConverterLoader: org.apache.camel.converter.stream.StreamCacheBulkConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG TypeConverterLoader: org.apache.camel.converter.stream.StreamCacheBulkConverterLoader loading converters
[                      Thread-1] DefaultTypeConverter           DEBUG Loaded 15 type converters in 16ms
[                      Thread-1] AbstractCamelContext           DEBUG Apache Camel 3.18.3 (camel-1) built in 43ms
[                      Thread-1] CamelRunner                    DEBUG >>>Using context: camel-1, stopped: true
[                      Thread-1] CamelRunner                    DEBUG Loading route (specificationType yaml): - route:
   id: "EventHub Sink"
   from:
      uri: "vantiq://server.config"
      steps:
      - choice:
          when:
          - simple: "${header[partition-id]}"
            steps:
            - set-header:
                name: CamelAzureEventHubsPartitionId
                simple: "${header[partition-id]}"
          - simple: "${header[ce-partition-id]}"
            steps:
            - set-header:
                name: CamelAzureEventHubsPartitionId
                simple: "${header[ce-partition-id]}"
      - setBody:
          simple: "${body.message}"
      - marshal:
          json:
            library: jackson
      - to:
          uri: "azure-eventhubs://mmunro-test/mmunrohub"
          parameters:
            sharedAccessName: "mmunroHubSAS"
            sharedAccessKey: "RAW(_some decoded data_)"
[                      Thread-1] ResolverHelper                 DEBUG Found RoutesBuilderLoader: org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader via: META-INF/services/org/apache/camel/yaml
[                      Thread-1] ResolverHelper                 DEBUG Detected and using RoutesBuilderLoader: org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader@15183760
[                      Thread-1] AbstractCamelContext           DEBUG Adding route configurations from builder: Routes: []
[                      Thread-1] AbstractCamelContext           DEBUG Adding route configurations from builder: Routes: []
[                      Thread-1] AbstractCamelContext           DEBUG Adding routes from builder: Routes: []
[                      Thread-1] AbstractCamelContext           DEBUG Setting up management with factory: org.apache.camel.impl.engine.DefaultManagementStrategyFactory@150b57c4
[                      Thread-1] ResolverHelper                 DEBUG Found HealthCheckRegistry: org.apache.camel.impl.health.DefaultHealthCheckRegistry via: META-INF/services/org/apache/camel/health-check/default-registry
[                      Thread-1] ResolverHelper                 DEBUG Detected and using HealthCheckRegistry: org.apache.camel.impl.health.DefaultHealthCheckRegistry@61002b4f
[                      Thread-1] DefaultHealthCheckRegistry     DEBUG HealthCheckRepository with id registry-health-check-repository successfully registered
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Loading file META-INF/services/org/apache/camel/TypeConverterLoader to retrieve list of type converters, from url: jar:file:/C:/Data/ExtensionSource/14032023/debug/camelConnector/lib/camel-jackson-3.18.3.jar!/META-INF/services/org/apache/camel/TypeConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Loading file META-INF/services/org/apache/camel/TypeConverterLoader to retrieve list of type converters, from url: jar:file:/C:/Data/ExtensionSource/14032023/debug/camelConnector/lib/camel-file-3.18.3.jar!/META-INF/services/org/apache/camel/TypeConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Loading file META-INF/services/org/apache/camel/TypeConverterLoader to retrieve list of type converters, from url: jar:file:/C:/Data/ExtensionSource/14032023/debug/camelConnector/lib/camel-xml-jaxp-3.18.3.jar!/META-INF/services/org/apache/camel/TypeConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Loading file META-INF/services/org/apache/camel/TypeConverterLoader to retrieve list of type converters, from url: jar:file:/C:/Data/ExtensionSource/14032023/debug/camelConnector/lib/camel-base-3.18.3.jar!/META-INF/services/org/apache/camel/TypeConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Loading file META-INF/services/org/apache/camel/TypeConverterLoader to retrieve list of type converters, from url: jar:file:/C:/Data/ExtensionSource/14032023/debug/camelConnector/lib/camel-support-3.18.3.jar!/META-INF/services/org/apache/camel/TypeConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Resolving TypeConverterLoader: org.apache.camel.component.jackson.converter.JacksonTypeConvertersLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG TypeConverterLoader: org.apache.camel.component.jackson.converter.JacksonTypeConvertersLoader loading converters
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Resolving TypeConverterLoader: org.apache.camel.component.file.GenericFileConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG TypeConverterLoader: org.apache.camel.component.file.GenericFileConverterLoader loading converters
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Resolving TypeConverterLoader: org.apache.camel.converter.jaxp.CamelXmlJaxpBulkConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG TypeConverterLoader: org.apache.camel.converter.jaxp.CamelXmlJaxpBulkConverterLoader loading converters
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Resolving TypeConverterLoader: org.apache.camel.converter.CamelBaseBulkConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG TypeConverterLoader: org.apache.camel.converter.CamelBaseBulkConverterLoader loading converters
[                      Thread-1] BaseTypeConverterRegistry      DEBUG Resolving TypeConverterLoader: org.apache.camel.converter.stream.StreamCacheBulkConverterLoader
[                      Thread-1] BaseTypeConverterRegistry      DEBUG TypeConverterLoader: org.apache.camel.converter.stream.StreamCacheBulkConverterLoader loading converters
[                      Thread-1] DefaultTypeConverter           DEBUG Loaded 15 type converters in 6ms
[                      Thread-1] AbstractCamelContext           DEBUG Apache Camel 3.18.3 (camel-2) built in 8ms
[                      Thread-1] CamelDiscovery                 DEBUG Discovering Camel (version 3.18.3) components using context: camel-2
[                      Thread-1] AbstractCamelContext           DEBUG Adding route configurations from builder: Routes: []
[                      Thread-1] AbstractCamelContext           DEBUG Adding routes from builder: Routes: []
[                      Thread-1] ResolverHelper                 DEBUG Found PropertiesComponent: org.apache.camel.component.properties.PropertiesComponent via: META-INF/services/org/apache/camel/properties-component-factory
[                      Thread-1] ResolverHelper                 DEBUG Detected and using PropertiesComponent: org.apache.camel.component.properties.PropertiesComponent@fcba040
[                      Thread-1] AbstractCamelContext           DEBUG Resolving language: simple
[                      Thread-1] ResolverHelper                 DEBUG Lookup Language with name simple in registry. Found: null
[                      Thread-1] ResolverHelper                 DEBUG Lookup Language with name simple-language in registry. Found: null
[                      Thread-1] SimpleLanguage                 DEBUG Simple language predicate/expression cache size: 1000
[                      Thread-1] AbstractCamelContext           DEBUG Using ComponentResolver: io.vantiq.extsrc.camelconn.discover.EnumeratingComponentResolver@4334fc51 to resolve component with name: vantiq
[                      Thread-1] ResolverHelper                 DEBUG Lookup Component with name vantiq in registry. Found: null
[                      Thread-1] ResolverHelper                 DEBUG Lookup Component with name vantiq-component in registry. Found: null
[                      Thread-1] EnumeratingComponentResolver   DEBUG Resolver asked to resolve component: vantiq
[                      Thread-1] DefaultComponent               DEBUG Creating endpoint uri=[vantiq://server.config], path=[server.config]
[                      Thread-1] PlaceholderEndpoint            DEBUG PlaceholderEndpoint for vantiq://server.config called
[                      Thread-1] AbstractCamelContext           DEBUG vantiq://server.config converted to endpoint: vantiq://server.config by component: io.vantiq.extsrc.camelconn.discover.PlaceholderComponent@5ba7348c
[                      Thread-1] ResolverHelper                 DEBUG Found ProcessorFactory: org.apache.camel.processor.DefaultProcessorFactory via: META-INF/services/org/apache/camel/processor-factory
[                      Thread-1] ResolverHelper                 DEBUG Detected and using ProcessorFactory: org.apache.camel.processor.DefaultProcessorFactory@50c7cd9
[                      Thread-1] AbstractCamelContext           DEBUG Resolving language: simple
[                      Thread-1] AbstractCamelContext           DEBUG Resolving language: constant
[                      Thread-1] ResolverHelper                 DEBUG Lookup Language with name constant in registry. Found: null
[                      Thread-1] ResolverHelper                 DEBUG Lookup Language with name constant-language in registry. Found: null
[                      Thread-1] ResolverHelper                 DEBUG Found InternalProcessorFactory: org.apache.camel.processor.DefaultInternalProcessorFactory via: META-INF/services/org/apache/camel/internal-processor-factory
[                      Thread-1] ResolverHelper                 DEBUG Detected and using InternalProcessorFactory: org.apache.camel.processor.DefaultInternalProcessorFactory@22e1d72b
[                      Thread-1] AbstractCamelContext           DEBUG Resolving language: simple
[                      Thread-1] AbstractCamelContext           DEBUG Resolving language: simple
[                      Thread-1] AbstractCamelContext           DEBUG Resolving language: constant
[                      Thread-1] AbstractCamelContext           DEBUG Resolving language: simple
[                      Thread-1] AbstractCamelContext           DEBUG Resolving language: simple
[                      Thread-1] AbstractCamelContext           DEBUG Resolving language: bean
[                      Thread-1] ResolverHelper                 DEBUG Lookup Language with name bean in registry. Found: null
[                      Thread-1] ResolverHelper                 DEBUG Lookup Language with name bean-language in registry. Found: null
[                      Thread-1] AbstractCamelContext           DEBUG Using ComponentResolver: io.vantiq.extsrc.camelconn.discover.EnumeratingComponentResolver@4334fc51 to resolve component with name: bean
[                      Thread-1] ResolverHelper                 DEBUG Lookup Component with name bean in registry. Found: null
[                      Thread-1] ResolverHelper                 DEBUG Lookup Component with name bean-component in registry. Found: null
[                      Thread-1] EnumeratingComponentResolver   DEBUG Resolver asked to resolve component: bean
[                      Thread-1] EnumeratingComponentResolver   DEBUG ... but this is a system provided entity, so we'll skip our resolution
[                      Thread-1] CamelDiscovery                 ERROR Trapped exception during component discovery:
org.apache.camel.FailedToCreateRouteException: Failed to create route EventHub Sink at: >>> SetBody[simple{${body.message}}] <<< in route: Route(EventHub Sink)[From[vantiq://server.config] -> [Choice... because of java.lang.IllegalArgumentException: Found component of type: class io.vantiq.extsrc.camelconn.discover.PlaceholderComponent instead of expected: class org.apache.camel.component.bean.BeanComponent
        at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:241) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:75) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:862) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:750) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2947) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.support.service.BaseService.init(BaseService.java:83) ~[camel-api-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2630) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.support.service.BaseService.start(BaseService.java:111) ~[camel-api-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2649) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:262) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at io.vantiq.extsrc.camelconn.discover.CamelDiscovery.performComponentDiscovery(CamelDiscovery.java:75) ~[camelConnector.jar:?]
        at io.vantiq.extsrc.camelconn.discover.CamelRunner.constructClassLoader(CamelRunner.java:156) ~[camelConnector.jar:?]
        at io.vantiq.extsrc.camelconn.discover.CamelRunner.beforeStart(CamelRunner.java:369) ~[camelConnector.jar:?]
        at org.apache.camel.main.MainSupport.run(MainSupport.java:88) ~[camel-main-3.18.3.jar:3.18.3]
        at io.vantiq.extsrc.camelconn.discover.CamelRunner.lambda$runRoutes$0(CamelRunner.java:284) ~[camelConnector.jar:?]
        at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: org.apache.camel.language.simple.types.SimpleIllegalSyntaxException: java.lang.IllegalArgumentException: Found component of type: class io.vantiq.extsrc.camelconn.discover.PlaceholderComponent instead of expected: class org.apache.camel.component.bean.BeanComponent
        at org.apache.camel.language.simple.SimpleExpressionParser.parseExpression(SimpleExpressionParser.java:62) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:214) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:250) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:174) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.language.SimpleExpressionReifier.createExpression(SimpleExpressionReifier.java:41) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.language.ExpressionReifier.createExpression(ExpressionReifier.java:199) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.AbstractReifier.createExpression(AbstractReifier.java:115) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.SetBodyReifier.createProcessor(SetBodyReifier.java:34) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:847) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:588) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:237) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        ... 16 more
Caused by: org.apache.camel.RuntimeCamelException: java.lang.IllegalArgumentException: Found component of type: class io.vantiq.extsrc.camelconn.discover.PlaceholderComponent instead of expected: class org.apache.camel.component.bean.BeanComponent
        at org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException(RuntimeCamelException.java:51) ~[camel-api-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext$4.apply(AbstractCamelContext.java:1849) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext$4.apply(AbstractCamelContext.java:1820) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) ~[?:?]
        at org.apache.camel.impl.engine.AbstractCamelContext.resolveLanguage(AbstractCamelContext.java:1820) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionBuilder$28.init(SimpleExpressionBuilder.java:793) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.ast.SimpleFunctionExpression.createExpression(SimpleFunctionExpression.java:63) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.ast.SimpleFunctionStart.doCreateLiteralExpression(SimpleFunctionStart.java:74) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.ast.SimpleFunctionStart.createExpression(SimpleFunctionStart.java:64) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionParser.createExpressions(SimpleExpressionParser.java:193) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionParser.doParseExpression(SimpleExpressionParser.java:116) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionParser.parseExpression(SimpleExpressionParser.java:56) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:214) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:250) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:174) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.language.SimpleExpressionReifier.createExpression(SimpleExpressionReifier.java:41) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.language.ExpressionReifier.createExpression(ExpressionReifier.java:199) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.AbstractReifier.createExpression(AbstractReifier.java:115) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.SetBodyReifier.createProcessor(SetBodyReifier.java:34) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:847) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:588) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:237) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        ... 16 more
Caused by: java.lang.IllegalArgumentException: Found component of type: class io.vantiq.extsrc.camelconn.discover.PlaceholderComponent instead of expected: class org.apache.camel.component.bean.BeanComponent
        at org.apache.camel.impl.engine.AbstractCamelContext.getComponent(AbstractCamelContext.java:730) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.language.bean.BeanLanguage.start(BeanLanguage.java:333) ~[camel-bean-3.18.3.jar:3.18.3]
        at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:113) ~[camel-api-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.startService(AbstractCamelContext.java:3667) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext$4.apply(AbstractCamelContext.java:1847) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext$4.apply(AbstractCamelContext.java:1820) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) ~[?:?]
        at org.apache.camel.impl.engine.AbstractCamelContext.resolveLanguage(AbstractCamelContext.java:1820) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionBuilder$28.init(SimpleExpressionBuilder.java:793) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.ast.SimpleFunctionExpression.createExpression(SimpleFunctionExpression.java:63) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.ast.SimpleFunctionStart.doCreateLiteralExpression(SimpleFunctionStart.java:74) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.ast.SimpleFunctionStart.createExpression(SimpleFunctionStart.java:64) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionParser.createExpressions(SimpleExpressionParser.java:193) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionParser.doParseExpression(SimpleExpressionParser.java:116) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionParser.parseExpression(SimpleExpressionParser.java:56) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:214) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:250) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:174) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.language.SimpleExpressionReifier.createExpression(SimpleExpressionReifier.java:41) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.language.ExpressionReifier.createExpression(ExpressionReifier.java:199) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.AbstractReifier.createExpression(AbstractReifier.java:115) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.SetBodyReifier.createProcessor(SetBodyReifier.java:34) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:847) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:588) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:237) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        ... 16 more
[                      Thread-1] CamelDiscovery                 ERROR Trapped exception preparing or completing component discovery
io.vantiq.extsrc.camelconn.discover.DiscoveryException: Exception during component discovery
        at io.vantiq.extsrc.camelconn.discover.CamelDiscovery.performComponentDiscovery(CamelDiscovery.java:78) ~[camelConnector.jar:?]
        at io.vantiq.extsrc.camelconn.discover.CamelRunner.constructClassLoader(CamelRunner.java:156) ~[camelConnector.jar:?]
        at io.vantiq.extsrc.camelconn.discover.CamelRunner.beforeStart(CamelRunner.java:369) ~[camelConnector.jar:?]
        at org.apache.camel.main.MainSupport.run(MainSupport.java:88) ~[camel-main-3.18.3.jar:3.18.3]
        at io.vantiq.extsrc.camelconn.discover.CamelRunner.lambda$runRoutes$0(CamelRunner.java:284) ~[camelConnector.jar:?]
        at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route EventHub Sink at: >>> SetBody[simple{${body.message}}] <<< in route: Route(EventHub Sink)[From[vantiq://server.config] -> [Choice... because of java.lang.IllegalArgumentException: Found component of type: class io.vantiq.extsrc.camelconn.discover.PlaceholderComponent instead of expected: class org.apache.camel.component.bean.BeanComponent
        at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:241) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:75) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:862) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:750) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2947) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.support.service.BaseService.init(BaseService.java:83) ~[camel-api-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2630) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.support.service.BaseService.start(BaseService.java:111) ~[camel-api-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2649) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:262) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at io.vantiq.extsrc.camelconn.discover.CamelDiscovery.performComponentDiscovery(CamelDiscovery.java:75) ~[camelConnector.jar:?]
        ... 5 more
Caused by: org.apache.camel.language.simple.types.SimpleIllegalSyntaxException: java.lang.IllegalArgumentException: Found component of type: class io.vantiq.extsrc.camelconn.discover.PlaceholderComponent instead of expected: class org.apache.camel.component.bean.BeanComponent
        at org.apache.camel.language.simple.SimpleExpressionParser.parseExpression(SimpleExpressionParser.java:62) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:214) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:250) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:174) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.language.SimpleExpressionReifier.createExpression(SimpleExpressionReifier.java:41) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.language.ExpressionReifier.createExpression(ExpressionReifier.java:199) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.AbstractReifier.createExpression(AbstractReifier.java:115) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.SetBodyReifier.createProcessor(SetBodyReifier.java:34) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:847) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:588) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:237) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:75) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:862) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:750) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2947) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.support.service.BaseService.init(BaseService.java:83) ~[camel-api-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2630) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.support.service.BaseService.start(BaseService.java:111) ~[camel-api-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2649) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:262) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at io.vantiq.extsrc.camelconn.discover.CamelDiscovery.performComponentDiscovery(CamelDiscovery.java:75) ~[camelConnector.jar:?]
        ... 5 more
Caused by: org.apache.camel.RuntimeCamelException: java.lang.IllegalArgumentException: Found component of type: class io.vantiq.extsrc.camelconn.discover.PlaceholderComponent instead of expected: class org.apache.camel.component.bean.BeanComponent
        at org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException(RuntimeCamelException.java:51) ~[camel-api-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext$4.apply(AbstractCamelContext.java:1849) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext$4.apply(AbstractCamelContext.java:1820) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) ~[?:?]
        at org.apache.camel.impl.engine.AbstractCamelContext.resolveLanguage(AbstractCamelContext.java:1820) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionBuilder$28.init(SimpleExpressionBuilder.java:793) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.ast.SimpleFunctionExpression.createExpression(SimpleFunctionExpression.java:63) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.ast.SimpleFunctionStart.doCreateLiteralExpression(SimpleFunctionStart.java:74) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.ast.SimpleFunctionStart.createExpression(SimpleFunctionStart.java:64) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionParser.createExpressions(SimpleExpressionParser.java:193) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionParser.doParseExpression(SimpleExpressionParser.java:116) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionParser.parseExpression(SimpleExpressionParser.java:56) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:214) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:250) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:174) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.language.SimpleExpressionReifier.createExpression(SimpleExpressionReifier.java:41) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.language.ExpressionReifier.createExpression(ExpressionReifier.java:199) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.AbstractReifier.createExpression(AbstractReifier.java:115) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.SetBodyReifier.createProcessor(SetBodyReifier.java:34) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:847) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:588) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:237) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:75) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:862) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:750) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2947) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.support.service.BaseService.init(BaseService.java:83) ~[camel-api-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2630) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.support.service.BaseService.start(BaseService.java:111) ~[camel-api-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2649) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:262) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at io.vantiq.extsrc.camelconn.discover.CamelDiscovery.performComponentDiscovery(CamelDiscovery.java:75) ~[camelConnector.jar:?]
        ... 5 more
Caused by: java.lang.IllegalArgumentException: Found component of type: class io.vantiq.extsrc.camelconn.discover.PlaceholderComponent instead of expected: class org.apache.camel.component.bean.BeanComponent
        at org.apache.camel.impl.engine.AbstractCamelContext.getComponent(AbstractCamelContext.java:730) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.language.bean.BeanLanguage.start(BeanLanguage.java:333) ~[camel-bean-3.18.3.jar:3.18.3]
        at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:113) ~[camel-api-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.startService(AbstractCamelContext.java:3667) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext$4.apply(AbstractCamelContext.java:1847) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext$4.apply(AbstractCamelContext.java:1820) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) ~[?:?]
        at org.apache.camel.impl.engine.AbstractCamelContext.resolveLanguage(AbstractCamelContext.java:1820) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionBuilder$28.init(SimpleExpressionBuilder.java:793) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.ast.SimpleFunctionExpression.createExpression(SimpleFunctionExpression.java:63) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.ast.SimpleFunctionStart.doCreateLiteralExpression(SimpleFunctionStart.java:74) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.ast.SimpleFunctionStart.createExpression(SimpleFunctionStart.java:64) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionParser.createExpressions(SimpleExpressionParser.java:193) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionParser.doParseExpression(SimpleExpressionParser.java:116) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleExpressionParser.parseExpression(SimpleExpressionParser.java:56) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:214) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:250) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:174) ~[camel-core-languages-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.language.SimpleExpressionReifier.createExpression(SimpleExpressionReifier.java:41) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.language.ExpressionReifier.createExpression(ExpressionReifier.java:199) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.AbstractReifier.createExpression(AbstractReifier.java:115) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.SetBodyReifier.createProcessor(SetBodyReifier.java:34) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:847) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:588) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:237) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:75) ~[camel-core-reifier-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:862) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:750) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2947) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.support.service.BaseService.init(BaseService.java:83) ~[camel-api-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2630) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.support.service.BaseService.start(BaseService.java:111) ~[camel-api-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2649) ~[camel-base-engine-3.18.3.jar:3.18.3]
        at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:262) ~[camel-core-engine-3.18.3.jar:3.18.3]
        at io.vantiq.extsrc.camelconn.discover.CamelDiscovery.performComponentDiscovery(CamelDiscovery.java:75) ~[camelConnector.jar:?]
        ... 5 more
Exception in thread "Thread-1" java.lang.RuntimeException: run() in runRoutes failed
        at io.vantiq.extsrc.camelconn.discover.CamelRunner.lambda$runRoutes$0(CamelRunner.java:286)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.RuntimeException: Unable to create route-based class loader
        at io.vantiq.extsrc.camelconn.discover.CamelRunner.beforeStart(CamelRunner.java:371)
        at org.apache.camel.main.MainSupport.run(MainSupport.java:88)
        at io.vantiq.extsrc.camelconn.discover.CamelRunner.lambda$runRoutes$0(CamelRunner.java:284)
        ... 1 more
Caused by: io.vantiq.extsrc.camelconn.discover.DiscoveryException: Exception preparing or completing component discovery processing
        at io.vantiq.extsrc.camelconn.discover.CamelDiscovery.performComponentDiscovery(CamelDiscovery.java:102)
        at io.vantiq.extsrc.camelconn.discover.CamelRunner.constructClassLoader(CamelRunner.java:156)
        at io.vantiq.extsrc.camelconn.discover.CamelRunner.beforeStart(CamelRunner.java:369)
        ... 3 more
Caused by: io.vantiq.extsrc.camelconn.discover.DiscoveryException: Exception during component discovery
        at io.vantiq.extsrc.camelconn.discover.CamelDiscovery.performComponentDiscovery(CamelDiscovery.java:78)
        ... 5 more
Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route EventHub Sink at: >>> SetBody[simple{${body.message}}] <<< in route: Route(EventHub Sink)[From[vantiq://server.config] -> [Choice... because of java.lang.IllegalArgumentException: Found component of type: class io.vantiq.extsrc.camelconn.discover.PlaceholderComponent instead of expected: class org.apache.camel.component.bean.BeanComponent
        at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:241)
        at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:75)
        at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:862)
        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:750)
        at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2947)
        at org.apache.camel.support.service.BaseService.init(BaseService.java:83)
        at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2630)
        at org.apache.camel.support.service.BaseService.start(BaseService.java:111)
        at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2649)
        at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:262)
        at io.vantiq.extsrc.camelconn.discover.CamelDiscovery.performComponentDiscovery(CamelDiscovery.java:75)
        ... 5 more
Caused by: org.apache.camel.language.simple.types.SimpleIllegalSyntaxException: java.lang.IllegalArgumentException: Found component of type: class io.vantiq.extsrc.camelconn.discover.PlaceholderComponent instead of expected: class org.apache.camel.component.bean.BeanComponent
        at org.apache.camel.language.simple.SimpleExpressionParser.parseExpression(SimpleExpressionParser.java:62)
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:214)
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:250)
        at org.apache.camel.language.simple.SimpleLanguage.createExpression(SimpleLanguage.java:174)
        at org.apache.camel.reifier.language.SimpleExpressionReifier.createExpression(SimpleExpressionReifier.java:41)
        at org.apache.camel.reifier.language.ExpressionReifier.createExpression(ExpressionReifier.java:199)
        at org.apache.camel.reifier.AbstractReifier.createExpression(AbstractReifier.java:115)
        at org.apache.camel.reifier.SetBodyReifier.createProcessor(SetBodyReifier.java:34)
        at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:847)
        at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:588)
        at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:237)
        ... 16 more
Caused by: org.apache.camel.RuntimeCamelException: java.lang.IllegalArgumentException: Found component of type: class io.vantiq.extsrc.camelconn.discover.PlaceholderComponent instead of expected: class org.apache.camel.component.bean.BeanComponent
        at org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException(RuntimeCamelException.java:51)
        at org.apache.camel.impl.engine.AbstractCamelContext$4.apply(AbstractCamelContext.java:1849)
        at org.apache.camel.impl.engine.AbstractCamelContext$4.apply(AbstractCamelContext.java:1820)
        at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
        at org.apache.camel.impl.engine.AbstractCamelContext.resolveLanguage(AbstractCamelContext.java:1820)
        at org.apache.camel.language.simple.SimpleExpressionBuilder$28.init(SimpleExpressionBuilder.java:793)
        at org.apache.camel.language.simple.ast.SimpleFunctionExpression.createExpression(SimpleFunctionExpression.java:63)
        at org.apache.camel.language.simple.ast.SimpleFunctionStart.doCreateLiteralExpression(SimpleFunctionStart.java:74)
        at org.apache.camel.language.simple.ast.SimpleFunctionStart.createExpression(SimpleFunctionStart.java:64)
        at org.apache.camel.language.simple.SimpleExpressionParser.createExpressions(SimpleExpressionParser.java:193)
        at org.apache.camel.language.simple.SimpleExpressionParser.doParseExpression(SimpleExpressionParser.java:116)
        at org.apache.camel.language.simple.SimpleExpressionParser.parseExpression(SimpleExpressionParser.java:56)
        ... 26 more
Caused by: java.lang.IllegalArgumentException: Found component of type: class io.vantiq.extsrc.camelconn.discover.PlaceholderComponent instead of expected: class org.apache.camel.component.bean.BeanComponent
        at org.apache.camel.impl.engine.AbstractCamelContext.getComponent(AbstractCamelContext.java:730)
        at org.apache.camel.language.bean.BeanLanguage.start(BeanLanguage.java:333)
        at org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:113)
        at org.apache.camel.impl.engine.AbstractCamelContext.startService(AbstractCamelContext.java:3667)
        at org.apache.camel.impl.engine.AbstractCamelContext$4.apply(AbstractCamelContext.java:1847)
        ... 36 more
```


Discussion / hints:
Yes, 'twould appear that something's amiss in the discovery process, specifically with bean discovery.  I'll try & take a look soon.
The underlying issue is that our discovery process returns a `PlaceholderComponent` for all components, and Camel _knows_ this one should be a bean.  So it checks.  Updating our `PlaceholderComponent` class to extend `BeanComponent` rather than `DefaultComponent` (`BeanComponent`, in turn, extends `DefaultComponent`) solves the issue.  Since the `PlaceholderComponent` & the discovery process shuts everything down before anything of interest happens, no harm should be done here & discovery can proceed as designed.

Fix patch:
diff --git a/camelConnector/src/main/java/io/vantiq/extsrc/camelconn/discover/CamelRunner.java b/camelConnector/src/main/java/io/vantiq/extsrc/camelconn/discover/CamelRunner.java
index d0384886..b9f2ac60 100644
--- a/camelConnector/src/main/java/io/vantiq/extsrc/camelconn/discover/CamelRunner.java
+++ b/camelConnector/src/main/java/io/vantiq/extsrc/camelconn/discover/CamelRunner.java
@@ -479,7 +479,12 @@ protected void awaitStartup() throws Exception {
      * @throws Exception for errors in loading the routes.
      */
     protected RouteBuilder loadRouteFromText(String specification, String specificationType) throws Exception {
-        log.debug("Loading route (specificationType {}): {}", specificationType, specification);
+        log.debug("Loading route from {} specificationType", specificationType);
+        if (log.isTraceEnabled()) {
+            // Dump route spec out here only under trace.  Camel may have substituted key values and we don't want
+            // these in the log files
+            log.trace("Loading route (specificationType {}): {}", specificationType, specification);
+        }
         ExtendedCamelContext extendedCamelContext = camelContext.adapt(ExtendedCamelContext.class);
         RoutesLoader loader = extendedCamelContext.getRoutesLoader();
         Resource resource = ResourceHelper.fromString("in-memory." + specificationType, specification);
diff --git a/camelConnector/src/main/java/io/vantiq/extsrc/camelconn/discover/PlaceholderComponent.java b/camelConnector/src/main/java/io/vantiq/extsrc/camelconn/discover/PlaceholderComponent.java
index 45580acf..9e33bf3d 100644
--- a/camelConnector/src/main/java/io/vantiq/extsrc/camelconn/discover/PlaceholderComponent.java
+++ b/camelConnector/src/main/java/io/vantiq/extsrc/camelconn/discover/PlaceholderComponent.java
@@ -9,7 +9,7 @@
 package io.vantiq.extsrc.camelconn.discover;
 
 import org.apache.camel.Endpoint;
-import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.component.bean.BeanComponent;
 
 import java.util.Map;
 
@@ -17,8 +17,19 @@
  * This component is a placeholder used to allow the connector to gather the set of components it will need.
  * This component has sufficient content to allow the route building (but not starting) to complete, allowing
  * the connector to determine the set of components it will need (via the {@link EnumeratingComponentResolver}).
+ *
+ * Note that rather than simply extending the Default Component, we extend the BeanComponent instead.  For non-bean
+ * components, this is harmless as BeanComponent, in turn, extends DefaultComponent.  And the method overrides
+ * provided herein keep anything from starting up anyway (we are only doing this to satisfy Camel that things are
+ * basically runnable.
+ *
+ * For things where Camel expects a BeanComponent, it checks that the component instance IsA BeanComponent,
+ * complaining vociferously if that's not the case and shutting everything down (See issue
+ * (<a href="https://github.com/Vantiq/vantiq-extension-sources/issues/372">#372</a>.)
+ * With this change, non-bean component discovery continues to operate as expected, and bean component discovery
+ * now succeeds.
  **/
-class PlaceholderComponent extends DefaultComponent {
+class PlaceholderComponent extends BeanComponent {
     
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
@@ -39,4 +50,12 @@ protected void validateParameters(String uri, Map<String, Object> parameters, St
     protected void doStart() {
         // noop
     }
+    
+    /**
+     * This is a placeholder only, used to facilitate our discovery of necessary components.
+     */
+    @Override
+    protected void doShutdown() {
+        // noop
+    }
 }


Test patch:
diff --git a/camelConnector/src/test/java/io/vantiq/extsrc/camelconn/discover/VantiqComponentDiscoveryTest.java b/camelConnector/src/test/java/io/vantiq/extsrc/camelconn/discover/VantiqComponentDiscoveryTest.java
index 2cd021c5..5214a198 100644
--- a/camelConnector/src/test/java/io/vantiq/extsrc/camelconn/discover/VantiqComponentDiscoveryTest.java
+++ b/camelConnector/src/test/java/io/vantiq/extsrc/camelconn/discover/VantiqComponentDiscoveryTest.java
@@ -8,8 +8,10 @@
 
 package io.vantiq.extsrc.camelconn.discover;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader;
 import org.apache.camel.impl.engine.DefaultComponentResolver;
 import org.apache.camel.spi.ComponentResolver;
 import org.apache.camel.spi.Resource;
@@ -199,10 +201,17 @@ public void testComplexXmlRouteDiscovery() throws Exception {
         performDiscoveryTest(rb);
     }
     
+    @Test
+    public void testBeansInRouteDiscovery() throws Exception {
+        RouteBuilder rb = new BeanIncludingRoutes(context);
+        performDiscoveryTest(rb);
+    }
+    
     void performDiscoveryTest(RouteBuilder rb) throws Exception {
         assert rb instanceof TestExpectations;
         setUseRouteBuilder(false);
         CamelDiscovery discoverer = new CamelDiscovery();
+        
         Map<String, Set<String>> discResults = discoverer.performComponentDiscovery(rb);
         
         List<String> expectedCTL = ((TestExpectations) rb).getExpectedComponentsToLoad();
@@ -416,6 +425,25 @@ public RouteBuilder getRouteBuilder() {
             return builder;
         }
     }
+    
+    private static class YamlRouteBuilder {
+        
+        RouteBuilder builder;
+        
+        YamlRouteBuilder(CamelContext ctx, String content) throws Exception {
+            
+            Resource resource = ResourceHelper.fromString("in-memory.yml", content);
+            try (YamlRoutesBuilderLoader ymlr = new YamlRoutesBuilderLoader()) {
+                ymlr.setCamelContext(ctx);
+                builder = (RouteBuilder) ymlr.loadRoutesBuilder(resource);
+            }
+        }
+    
+        public RouteBuilder getRouteBuilder() {
+            return builder;
+        }
+    
+    }
     private static class SimpleXmlRoutes extends RouteBuilder implements TestExpectations {
     
         @Override
@@ -476,4 +504,64 @@ public void configure() throws Exception {
             this.setRouteCollection(rb.getRouteCollection());
         }
     }
+    
+    private static class BeanIncludingRoutes extends RouteBuilder implements TestExpectations {
+    
+        CamelContext ctx;
+        BeanIncludingRoutes(CamelContext ctx) {
+            this.ctx = ctx;
+        }
+        @Override
+        public List<String> getExpectedComponentsToLoad() {
+            return List.of("azure-eventhubs");
+        }
+    
+        @Override
+        public List<String> getExpectedSystemComponents() {
+            return List.of("bean");
+        }
+    
+        @Override
+        public List<String> getExpectedDataFormatsToLoad() {
+            return List.of("jackson");
+        }
+    
+    
+        @Override
+        public void configure() throws Exception {
+            String content = ""
+            + "- route: \n"
+            + "    id: \"EventHub Sink\" \n"
+            + "    from: \n"
+            + "        uri: \"vantiq://server.config\" \n"
+            + "        steps: \n"
+            + "        - choice: \n"
+            + "            when: \n"
+            + "            - simple: \"${header[partition-id]}\" \n"
+            + "              steps: \n"
+            + "              - set-header: \n"
+            + "                  name: CamelAzureEventHubsPartitionId \n"
+            + "                  simple: \"${header[partition-id]}\" \n"
+            + "            - simple: \"${header[ce-partition-id]}\" \n"
+            + "              steps: \n"
+            + "              - set-header: \n"
+            + "                  name: CamelAzureEventHubsPartitionId \n"
+            + "                  simple: \"${header[ce-partition-id]}\" \n"
+            + "        - setBody: \n"
+            + "            simple: \"${body.message}\" \n"
+            + "        - marshal: \n"
+            + "            json: \n"
+            + "              library: jackson \n"
+            + "        - to: \n"
+            + "             uri: \"azure-eventhubs://vantiq-test/vantiqNotReallyThere\" \n"
+            + "             parameters: \n"
+            + "                 sharedAccessName: \"someRandomKey\" \n"
+            + "                 sharedAccessKey: \"RAW(MY TOKEN)\" \n";
+    
+            // YAML support needs a camel context.  So provide oe during setup...
+            RouteBuilder rb = new YamlRouteBuilder(ctx, content).getRouteBuilder();
+            rb.configure();
+            this.setRouteCollection(rb.getRouteCollection());
+        }
+    }
 }
diff --git a/camelConnector/src/test/java/io/vantiq/extsrc/camelconn/discover/VantiqComponentResolverTest.java b/camelConnector/src/test/java/io/vantiq/extsrc/camelconn/discover/VantiqComponentResolverTest.java
index e709e600..0c721dac 100644
--- a/camelConnector/src/test/java/io/vantiq/extsrc/camelconn/discover/VantiqComponentResolverTest.java
+++ b/camelConnector/src/test/java/io/vantiq/extsrc/camelconn/discover/VantiqComponentResolverTest.java
@@ -396,6 +396,35 @@ public void testStartRunLoadedComponentsUsingPreviouslyRetrievedComponents() thr
             + "        - to:\n"
             + "            uri: \"mock:result\"\n";
     
+    public static final String ROUTE_WITH_BEAN = "\n"
+            + "- route: \n"
+            + "    id: \"EventHub Sink\" \n"
+            + "    from: \n"
+            + "        uri: \"direct:start\" \n"
+            + "        steps: \n"
+            + "        - choice: \n"
+            + "            when: \n"
+            + "            - simple: \"${header[partition-id]}\" \n"
+            + "              steps: \n"
+            + "              - set-header: \n"
+            + "                  name: CamelAzureEventHubsPartitionId \n"
+            + "                  simple: \"${header[partition-id]}\" \n"
+            + "            - simple: \"${header[ce-partition-id]}\" \n"
+            + "              steps: \n"
+            + "              - set-header: \n"
+            + "                  name: CamelAzureEventHubsPartitionId \n"
+            + "                  simple: \"${header[ce-partition-id]}\" \n"
+            + "        - setBody: \n"
+            + "            simple: \"${body.message}\" \n"
+            + "        - marshal: \n"
+            + "            json: \n"
+            + "              library: jackson \n"
+            + "        - to: \n"
+            + "             uri: \"azure-eventhubs://vantiq-test/vantiqNotReallyThere\" \n"
+            + "             parameters: \n"
+            + "                 sharedAccessName: \"someRandomKey\" \n"
+            + "                 sharedAccessKey: \"RAW(MY TOKEN)\" \n";
+    
     @Test
     public void testStartRunLoadedComponentsFromXmlText() throws Exception {
         FileUtil.forceDelete(cache);    // Clear the cache
@@ -413,6 +442,14 @@ public void testStartRunLoadedComponentsFromYamlText() throws Exception {
         performLoadAndRunTest(YAML_ROUTE, "yaml", null);
     }
     
+    @Test
+    public void testDiscoverBeanRoute() throws Exception {
+        FileUtil.forceDelete(cache);
+        setUseRouteBuilder(false);
+        
+        performLoadAndRunTest(ROUTE_WITH_BEAN, "yaml", null, true);
+    }
+    
     /**
      * Create a callable that the test method will call.
      *
@@ -506,6 +543,11 @@ public boolean matches(Exchange exchange) {
     
     public void performLoadAndRunTest(String content, String contentType,
                                       List<Map<String, Object>> compToInit) throws Exception {
+        performLoadAndRunTest(content, contentType, compToInit, false);
+    }
+    
+    public void performLoadAndRunTest(String content, String contentType,
+                                      List<Map<String, Object>> compToInit, boolean defeatVerify) throws Exception {
         // To do this test, we'll create a callable that the test method will call. In this case, the callable "sends"
         // message to the route which, in turn, makes the dig call to lookup a monkey.  We verify that the expected
         // results is presented.
@@ -529,8 +571,10 @@ public void performLoadAndRunTest(String content, String contentType,
     
             // At this point, the route is running -- let's verify that it works.
     
-            assert verifyOperation.apply(runnerContext, QUERY_MONKEY, RESPONSE_MONKEY);
-            assert verifyOperation.apply(runnerContext, QUERY_AARDVARK, RESPONSE_AARDVARK);
+            if (!defeatVerify) {
+                assert verifyOperation.apply(runnerContext, QUERY_MONKEY, RESPONSE_MONKEY);
+                assert verifyOperation.apply(runnerContext, QUERY_AARDVARK, RESPONSE_AARDVARK);
+            }
         }
         
         while (!openedRunner.isStopped()) {