Camunda 8.8 - Spring Boot Job Worker not getting triggered

I am using Camunda 8.8 locally (helm camunda-platform) with my custom Spring Boot project. It seems that my job worker is never getting invoked. Is anything wrong in my configurations?

I am using the following dependency per docs:

    <dependency>
        <groupId>io.camunda</groupId>
        <artifactId>camunda-spring-boot-starter</artifactId>
        <version>8.8.2</version>
    </dependency>

Below are my camunda-related properties in the spring boot project:

camunda:
  client:
    mode: self-managed
    auth:
      token-url: http://localhost:9190/realms/camunda-platform/protocol/openid-connect/token
      client-id: <hidden>
      client-secret: <hidden>
      audience: camunda-identity
    rest-address: http://localhost:8080
    grpc-address: http://127.0.0.1:26500

Below is my worker:

package com.cognity.fg.bp.worker;

import io.camunda.client.annotation.JobWorker;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

@Component
@Slf4j
public class TestWorker {

@JobWorker(type = "testTask")
public void handleTestTask() {
    log.info("Started executing handleTestTask");
}

}

Here is my BPMN:

Below are my application logs:

2025-11-04T01:08:31.681+02:00 INFO 30024 — [bp-orchestrator] [ main] .c.c.s.a.p.DeploymentAnnotationProcessor : Configuring deployments: [DeploymentValue{resources=[classpath*:bpmn/**/*.bpmn], tenantId=‘null’}]
2025-11-04T01:08:32.045+02:00 INFO 30024 — [bp-orchestrator] [ main] .c.c.s.a.p.DeploymentAnnotationProcessor : Deployed: <Process_0oi8cec:4>
2025-11-04T01:08:32.055+02:00 INFO 30024 — [bp-orchestrator] [ main] i.c.c.s.a.p.JobWorkerAnnotationProcessor : Configuring 1 Job worker(s) of bean ‘testWorker’: [JobWorkerValue{type=‘testTask’, name=‘’, timeout=PT-0.001S, maxJobsActive=-1, requestTimeout=PT-1S, pollInterval=PT-0.001S, autoComplete=true, fetchVariables=, enabled=true, methodInfo=io.camunda.client.spring.bean.SpringMethodInfo@1cc9b564, tenantIds=, forceFetchAllVariables=false, streamEnabled=false, streamTimeout=PT1H, maxRetries=-1}]
2025-11-04T01:08:32.219+02:00 INFO 30024 — [bp-orchestrator] [ main] i.c.client.jobhandling.JobWorkerManager : . Starting job worker: JobWorkerValue{type=‘testTask’, name=‘testWorker#handleTestTask’, timeout=PT5M, maxJobsActive=32, requestTimeout=PT-1S, pollInterval=PT0.1S, autoComplete=true, fetchVariables=, enabled=true, methodInfo=io.camunda.client.spring.bean.SpringMethodInfo@1cc9b564, tenantIds=, forceFetchAllVariables=false, streamEnabled=false, streamTimeout=PT1H, maxRetries=-1}
2025-11-04T01:08:32.228+02:00 INFO 30024 — [bp-orchestrator] [ main] c.c.fg.bp.BpOrchestratorApplication : Started BpOrchestratorApplication in 5.862 seconds (process running for 6.848)

And a screenshot from Operate with the jobs waiting:

This works fine for me with 8.8 Camunda Run (no authentication in place)

application.yaml:

camunda:
  client:
    mode: self-managed
    enabled: true
    grpc-address: http://127.0.0.1:26500
    rest-address: http://127.0.0.1:8080
    prefer-rest-over-grpc: false

Main class file:

@SpringBootApplication
public class SpringWorker {
	
	public static void main(String[] args) {
		SpringApplication.run(SpringWorker.class, args);
	}

}

Worker class:

@Component
public class MyWorker {
	
	@JobWorker(type = "processResults")
	public void handleTestTask(final JobClient client, final ActivatedJob job) {
		
		System.out.println("Started executing processResults");
		System.out.println("Task ID = " + job.getVariable("TaskId"));
	    

	}

}

Notice that the classes must come from the Camunda client package:

import io.camunda.client.annotation.JobWorker;
import io.camunda.client.api.response.ActivatedJob;
import io.camunda.client.api.worker.JobClient;

Thanks for your answer. Unfortunately still no luck. I have checked whether it is a connectivity problem, but it is not. I tried the following:

@Component
@Slf4j
public class CamundaConnectivityCheck {

private final CamundaClient client;

public CamundaConnectivityCheck(CamundaClient client) {
    this.client = client;
}

@PostConstruct
public void check() {
    client.newTopologyRequest()
          .send()
          .thenAccept(t -> log.info("Connected to Camunda. Partitions: {}", t.getBrokers()))
          .exceptionally(e -> {
              log.error("Failed to connect to Camunda", e);
              return null;
          });
}

}

And connectivity works fine. So something is wrong with the job workers in particular.

Check this thread.

Tried with the latest configurations of Camunda 8.8:

camunda:
client:
mode: self-managed
auth:
method: oidc
token-url: http://localhost:9190/realms/camunda-platform/protocol/openid-connect/token
client-id:
client-secret:
audience: camunda-identity
rest-address: http://localhost:8080
grpc-address: http://127.0.0.1:26500
prefer-rest-over-grpc: false

Job worker still doesn’t get triggered.

Quick update: After switching to Basic auth in the Spring Boot application, and switching off oidc in camunda helm chart, job workers start consuming jobs. So something strange is going on with oidc.

Still requires investigation.