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
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?
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?
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.
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/
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