Taking SpringBoot Heapdumps & Threaddumps when running on Pod - spring-boot

Is there any recommended approach to taking Heapdumps & Threaddumps for a Spring Boot app running in a Pod on AKS?
And how to download the dump afterwards to my desktop?

There are many ways to take a heapdump and threaddumps. The easiest way for a Spring Boot app should be the Actuator endpoint.
https://docs.spring.io/spring-boot/docs/current/actuator-api/htmlsingle/#heapdump

Related

spring boot application and mysql in one kubernetes pod

I want to maintain my spring boot application and mysql in one pod. I've tried with separate pods for each one and it's working fine. I want to bind both into single pod. how can i achieve that?

How to hot replace Spring Boot code to Azure Spring Cloud

I'm asking this question because of the long feedback loop when committing, pushing, building, deploying, waiting... in order to check certain changes.
Using devtools locally you can get quick feedback on changes.
For Kubernetes I believe you can use skaffold and telepresence to directly sync to a running environment.
But is there something similar for Azure Spring Cloud?
A way to hot swap code to a deployed running application?

Scaling for spring boot application using spring cloud

I am using spring boot with Kubernetes and Eventhub. To connect with Azure Eventhub i use spring cloud stream. What is the math to determine the number of pods assuming non reactive spring boot application with apache tomcat?
Edit 1: to reframe my question, how do you factor in spring boot performance , request rate , user count, etc while scaling the pods?
In general the number of pods can be managed with a Deployment in Kubernetes. For more information you can see here kubernetes.io. In a Deployment you tell Kubernetes how many Replicas you want, which means how many Pods should be running. I don't know what you mean with non reactive spring boot application with apache tomcat. I also don't know about spring cloud stream.

Is there a way to spin up an in-memmory redis in my spring app

I have a spring app that uses redis for caching. I want to be able to spin up an in-memory redis while my integration tests are running. Is it possible to configure a redis in maven that would only be used for my CI when my app is building running tests?
I was able to start up a test container with redis. Docs can be found here: https://www.testcontainers.org/

How do I deploy BPMN process to process engine with Camunda Spring Boot

I have built a Camunda BPM with Spring Boot as a Standalone Process Engine, it will be waiting some requests for starting process from other web applications
now, my co-works have design a few processes in BPMN Tools, I think I should use the REST API deploy these BPMN to Standalone Process Engine, how can I do? or other solution which allows uploading BPMN files to Standalone Process Engine?
Is there any example?
We want to use Camunda BPM in our Application, so we have to solve some problems
Thank you
When you are using Spring Boot as an application container, do you really need to deploy processes at runtime? It seems to me that the common scenario in this case would be "bundle the processes and the application and deploy on startup". If you need to change or add processes, just stop, repackage and start your Camunda Spring Boot application. To do this, the SpringProcessEngineConfiguration allows setting deploymentResources.
If you really need to change processes at runtime, make sure you add the REST API to your Spring Boot bundle and follow https://docs.camunda.org/manual/7.3/api-references/rest/#deployment-post-deployment.
We also have created a Camunda community extension that makes dealing with Camunda and Spring Boot a lot simpler: https://github.com/camunda/camunda-bpm-spring-boot-starter

Resources