I am trying to implement a custom connector on my own and when I am trying to configure the runtime using Spring Boot, I am getting the following error -
‘’’
Description:
Parameter 0 of method processDefinitionInspector in io.camunda.connector.runtime.inbound.importer.ProcessDefinitionImportConfiguration required a bean of type ‘io.camunda.operate.CamundaOperateClient’ that could not be found.
Action:
Consider defining a bean of type ‘io.camunda.operate.CamundaOperateClient’ in your configuration.
‘’’
Any workarounds would be helpful. Thanks in advance.
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.1.1)
2023-07-17T06:42:57.746Z INFO 1 --- [ main] i.c.c.r.app.ConnectorRuntimeApplication : Starting ConnectorRuntimeApplication v0.21.3 using Java 17.0.7 with PID 1 (/opt/app/connector-runtime-application-0.21.3-with-dependencies.jar started by root in /)
2023-07-17T06:42:57.794Z INFO 1 --- [ main] i.c.c.r.app.ConnectorRuntimeApplication : No active profile set, falling back to 1 default profile: "default"
2023-07-17T06:43:02.070Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'io.camunda.zeebe.spring.client.annotation.processor.AnnotationProcessorConfiguration' of type [io.camunda.zeebe.spring.client.annotation.processor.AnnotationProcessorConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.109Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'io.camunda.connector.runtime.outbound.OutboundConnectorRuntimeConfiguration' of type [io.camunda.connector.runtime.outbound.OutboundConnectorRuntimeConfiguration$$SpringCGLIB$$0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.344Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'zeebe.client-io.camunda.zeebe.spring.client.properties.ZeebeClientConfigurationProperties' of type [io.camunda.zeebe.spring.client.properties.ZeebeClientConfigurationProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.347Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'io.camunda.zeebe.spring.client.configuration.ZeebeClientAllAutoConfiguration' of type [io.camunda.zeebe.spring.client.configuration.ZeebeClientAllAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.357Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'io.camunda.zeebe.spring.client.configuration.ExecutorServiceConfiguration' of type [io.camunda.zeebe.spring.client.configuration.ExecutorServiceConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.369Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.actuate.autoconfigure.metrics.export.prometheus.PrometheusMetricsExportAutoConfiguration' of type [org.springframework.boot.actuate.autoconfigure.metrics.export.prometheus.PrometheusMetricsExportAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.377Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'management.prometheus.metrics.export-org.springframework.boot.actuate.autoconfigure.metrics.export.prometheus.PrometheusProperties' of type [org.springframework.boot.actuate.autoconfigure.metrics.export.prometheus.PrometheusProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.390Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'prometheusConfig' of type [org.springframework.boot.actuate.autoconfigure.metrics.export.prometheus.PrometheusPropertiesConfigAdapter] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.406Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'collectorRegistry' of type [io.prometheus.client.CollectorRegistry] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.413Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration' of type [org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.434Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'micrometerClock' of type [io.micrometer.core.instrument.Clock$1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.556Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'prometheusMeterRegistry' of type [io.micrometer.prometheus.PrometheusMeterRegistry] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.684Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'zeebeClientThreadPool' of type [io.camunda.zeebe.spring.client.jobhandling.ZeebeClientExecutorService] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.701Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'commandExceptionHandlingStrategy' of type [io.camunda.zeebe.spring.client.jobhandling.DefaultCommandExceptionHandlingStrategy] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.708Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'io.camunda.zeebe.spring.client.CamundaAutoConfiguration' of type [io.camunda.zeebe.spring.client.CamundaAutoConfiguration$$SpringCGLIB$$0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:02.729Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'io.camunda.connector.runtime.OutboundConnectorsAutoConfiguration' of type [io.camunda.connector.runtime.OutboundConnectorsAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:03.676Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'objectMapper' of type [com.fasterxml.jackson.databind.ObjectMapper] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:03.679Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'zeebeJsonMapper' of type [io.camunda.zeebe.client.impl.ZeebeObjectMapper] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:03.682Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'io.camunda.zeebe.spring.client.configuration.ZeebeActuatorConfiguration' of type [io.camunda.zeebe.spring.client.configuration.ZeebeActuatorConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:03.760Z INFO 1 --- [ main] i.c.z.s.c.a.MicrometerMetricsRecorder : Enabling Micrometer based metrics for spring-zeebe (available via Actuator)
2023-07-17T06:43:03.763Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'micrometerMetricsRecorder' of type [io.camunda.zeebe.spring.client.actuator.MicrometerMetricsRecorder] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:03.765Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'jobWorkerManager' of type [io.camunda.zeebe.spring.client.jobhandling.JobWorkerManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:03.788Z WARN 1 --- [ main] .c.r.c.o.DefaultOutboundConnectorFactory : No outbound connectors discovered
2023-07-17T06:43:03.789Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'outboundConnectorFactory' of type [io.camunda.connector.runtime.core.outbound.DefaultOutboundConnectorFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:03.827Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'springSecretProviderAggregator' of type [io.camunda.connector.runtime.core.secret.SecretProviderAggregator] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:03.838Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'outboundConnectorManager' of type [io.camunda.connector.runtime.outbound.lifecycle.OutboundConnectorManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:03.846Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'annotationProcessor' of type [io.camunda.connector.runtime.outbound.lifecycle.OutboundConnectorAnnotationProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:03.855Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'deploymentPostProcessor' of type [io.camunda.zeebe.spring.client.annotation.processor.ZeebeDeploymentAnnotationProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:03.864Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'propertyBasedZeebeWorkerValueCustomizer' of type [io.camunda.zeebe.spring.client.properties.PropertyBasedZeebeWorkerValueCustomizer] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:03.871Z INFO 1 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'zeebeWorkerPostProcessor' of type [io.camunda.zeebe.spring.client.annotation.processor.ZeebeWorkerAnnotationProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-17T06:43:04.259Z INFO 1 --- [ main] org.camunda.feel.FeelEngine : Engine created. [value-mapper: CompositeValueMapper(List(org.camunda.feel.impl.JavaValueMapper@587a1cfb)), function-provider: io.camunda.connector.runtime.core.feel.FeelConnectorFunctionProvider@7b6860f9, clock: SystemClock, configuration: Configuration(false)]
2023-07-17T06:43:04.791Z INFO 1 --- [ main] z.s.c.c.ZeebeClientProdAutoConfiguration : Creating ZeebeClient using ZeebeClientConfiguration [ZeebeClientConfigurationProperties{broker=Broker{gatewayAddress='127.0.0.1:26500', keepAlive=PT45S}, cloud=io.camunda.zeebe.spring.client.properties.ZeebeClientConfigurationProperties$Cloud@4b039c6d, worker=Worker{maxJobsActive=32, threads=1, defaultName='null', defaultType='null', override={}}, message=Message{timeToLive=PT1H}, security=Security{plaintext=true, overrideAuthority='null', certPath='null'}, job=Job{timeout=PT5M, pollInterval=PT0.1S}, interceptors=[], requestTimeout=PT10S}]
2023-07-17T06:43:07.460Z INFO 1 --- [ main] i.c.c.r.app.ConnectorRuntimeApplication : Started ConnectorRuntimeApplication in 12.032 seconds (process running for 13.093)```
Hey folks. Sad to hear you faced an issue. Let’s figure it out.
@joe_datrin seems like Spring wasn’t able to construct a Camunda Operate Client. Without details I can propose to disable an Operate client like here. But in that case you will be missing inbound connectors, since - as @jwulf mentioned - inbound connectors are built on top of Operate API. You can find an example of minimal required properties/env variables here. If it doesn’t help, please provide more details on your setup: how do you run Camunda platform (SaaS, Docker, Helm, bare metal)? how do you run Connectors? Details on you networking, etc.
While there might be several reasons for this, the most common from my experience is missing an SPI file or not correct function name set in it, like this one from the example.