“ContainerLaunchException: Container startup failed” when running Testcontainers with Gradle

I had this nasty error when running integration tests with Testcontainers for my Java project with Gradle: SEVERE: Caught exception while closing extension context: org.junit.jupiter.engine.descriptor.ClassExtensionContext@669c884 org.testcontainers.containers.ContainerLaunchException: Container startup failed … Caused by: org.testcontainers.containers.ContainerFetchException: Can’t get Docker image: RemoteDockerImage(imageName=, imagePullPolicy=DefaultPullPolicy()) … Caused by: com.github.dockerjava.api.exception.DockerClientException: Error occurred while preparing Docker context folder. … Caused by: java.io.IOException: Der … Read more

Kubernetes not starting on Docker Desktop for Windows

After enabling Kubernetes in Docker Desktop for Windows, it simply wouldn’t come up. I waited about an hour but nothing happened. All needed Docker images etc. were downloaded but then the process stalled. After searching for errors in all the different log files I found a bunch of lines like the following in C:\Users\%USERNAME%\AppData\Roaming\Docker\log\vm\kubelet.log: [026:09:01:30.415][I] … Read more

WFLYCTL0348: TimeoutException while running Keycloak in a Docker container with an external database (MariaDB)

WFLYCTL0348 TimeoutException while running Keycloak in a Docker container with an external database (MariaDB)

I tried to start Keycloak in a Docker container with an external database (MariaDB) as described in the documentation of jboss/keycloak: docker run –rm –name=keycloak \ -e KEYCLOAK_USER=admin \ -e KEYCLOAK_PASSWORD=admin123 \ -e DB_VENDOR=mariadb \ -e DB_ADDR=192.168.178.143 \ -e DB_PORT=3306 \ -e DB_DATABASE=keycloak \ -e DB_USER=keycloak \ -e DB_PASSWORD=keycloak \ jboss/keycloak Unfortunately, I got this … Read more

German Natural User Group Meeting in November 2018 – Legacy Coder Podcast #7

German Natural User Group Meeting November 2018

On November 6th and 7th, the German Adabas and Natural User Group met in Darmstadt at Software AG’s headquarter to learn about new features in the October 2018 release. Let’s find out more in episode seven of the Legacy Coder Podcast. German Adabas and Natural User Group Meeting in November 2019 in Darmstadt Overview of … Read more

Continuous Deployment with Natural – Legacy Coder Podcast #6

Continuous Deployment with Software AG's Adabas/Natural

After you have automated the build process for your application based on Software AG’s Adabas and Natural it’s time to take the next step and also deploy the changes to production after each push to Git! I’ll tell you how in the sixth episode of the Legacy Coder Podcast. Recap: Automating your build process with … Read more

What is Legacy Code? – Legacy Coder Podcast #5

What is Legacy Code?

This podcast is called “Legacy Coder” but what exactly is legacy code? I talk about my definition of the term in the fifth episode of the Legacy Coder Podcast. Legacy Code? What is Legacy Code? Definition by Michael Feathers: “Code without tests.” Code of a certain age. Brown field instead of green field. “Old” languages … Read more

How to deploy to JBoss EAP 7 with Gradle, Cargo, and Jenkins

It took me quite a while to get my Java EE 7 application automatically deployed to a target JBoss EAP 7 server from within Jenkins using Gradle as the build tool and Cargo for managing the deployment. So here’s my final solution for you to use! 😉 build.gradle dependencies { classpath ‘com.bmuschko:gradle-cargo-plugin:2.2.3’ } apply plugin: … Read more

Presidents Meeting and German Natural User Group – Legacy Coder Podcast #4

Presidents Meeting and German Natural User Group

Let’s talk about what was presented and discussed at Software AG’s User Group Presidents Meeting and the German Natural User Group in Darmstadt in November 2017 in episode four of the Legacy Coder Podcast. User Group Presidents Meeting What’s the point of the meeting? Planning the International User Groups Conference (topics, date, venue etc.). What … Read more

Modern Natural Development with NaturalONE – Legacy Coder Podcast #3

Modern Natural Development with NaturalONE

Why would anyone dismiss the good old Natural editor and switch over to NaturalONE? Let’s find out what features NaturalONE has to offer in the third episode of the Legacy Coder Podcast. Why should you switch over to NaturalONE? Increased developer productivity Use Copy and Paste (duh!) for high quality Natural programming 😉 Syntax Highlighting … Read more

Automating Your Natural Build Process – Legacy Coder Podcast #2

Automating Your Natural Build Process

How can you automate the build process for your application based on Software AG’s Adabas and Natural? I talk about our journey towards a completely automated build from scratch after each push to Git in the second episode of the Legacy Coder Podcast. How to automate the build process for an Adabas/Natural application Why would … Read more