Spring-zeebe: Softening the hard start condition of spring-zebee

Dear Camunda Team,

I am currently evaluating the migration from Camunda 7 to Camunda 8. Because we use Spring Boot, I became aware of the project spring-zeebe (GitHub - camunda-community-hub/spring-zeebe: Easily use the Zeebe Java Client in your Spring or Spring Boot projects).

First of all, is this the right place to ask questions about spring-zeebe, or is this better via for example a GibHub Issue?

Now to my actual question. To test Camunda 8, I started Camunda 8 locally via docker-compose. In addition, I created a worker in the form of a Spring Boot application with the dependency to spring-zeebe. Using spring-zeebee makes the integration of Camunda 8 much easier, but what is a problem for us is that using spring-zeebe creates a startup order. zebee must be available when starting the worker. Otherwise the worker does not start because of a ConnectException.

This is a problem because our platform, which consists of several services, is developed locally and we want to start only the services we need for the development of the specific feature to save hardware resources. Our workers do not only consist of the job worker specific code, but also a UI and other business code. We don’t want to start the whole Camunda platform just to customize a button in the UI of a worker.

  1. is this a bad design of our worker? Should it only contain code that is called in the JobWorker?

  2. is there a configuration to deviate this hard start condition so that the Spring Boot application is still started?

Thanks a lot in advance!

Hi @bbeil-crx, welcome to the forums!

Sharing this as an issue on GitHub may get you a faster answer. But I’ll tag @jangalinski since he is a contributor to the project to see if he can help :slight_smile:

Hi all. I missed this … when we designed the spring-zeebe-worker, we had small dedicated worker apps in mind, so currently I am not aware of such features.
If this is still an issue, I think the best way is to file an issue in github describing the use case.

Hi @jangalinski,

I already created a github issue: Launch the Spring Boot application even though no connection to zeebe is possible · Issue #434 · camunda-community-hub/spring-zeebe · GitHub

The issue already has five thumbs up. Therefore, others have the same problems.

1 Like

HI @bbeil-crx,

If i understand your issue, since your zeebe cluster is not up and running, you are finding it difficult to start your zeebe-worker which includes you spring boot backend code, because you get a ConnectException to Zee Cluster/Gateway, right?

If that is your question, did you try adding your remote zeebe cluster connection to application.yml/properties

zeebe.client:
  cloud:
    region: ont-1
    clusterId: 7f7da8c7-fsgsgsgsgjknakgnka-890d368e
    clientId: LG3FWwqyEIDw~fsfgagagzkajkgnjknajzgj
    clientSecret: jgjkagjjjkgak~xjdC5AzD_j-gsghnlkbhs.agbjabgjazbg.Xdym_FSna,bgabgb

If you are not aware of these details, you can find them navigating to your Clusters Camunda Console.

Select the Cluster >> Go to API >> Create New Client >> Select the Scopes (If you just want to access Zeebe Gateway then only Zeebe Gateway else there is no harm in selecting all the scopes) >> Create

Once you create them you can choose the destination format.
Simply copy the config and re run your spring–boot application