Remote debugging is a common practice for troubleshooting issues in software development. If you are using Tomcat or TomEE with Docker containers as part of your stack you can find various techniques to enable debug capabilities in these types of containers: 1. Create a custom Docker image by extending an existing official one 2. Extensive customization of CATALINA_OPSTS However, both approaches require extra steps in some scenarios. Below I share the simplest method I have used to do remote debugging in Apache Tomcat and Apache TomEE with a Docker image: $ $ docker run -it -p 8080:8080 -p 8000:8000 -e…
Read More
El debug remoto es una práctica común para investigación de problemas de microservicios. Si estas utilizando contenedores Docker Apache Tomcat o Apache TomEE, en la web puedes encontrar varias técnicas como lo son: 1. Extender una imagen oficial y personalizar 2. Utilizar personalización extensiva de CATALINA_OPTS Sin embargo ambos enfoques requieren extra pasos aplicables para algunos escenarios. A continuación les comparto la forma más sencilla que he utilizado para poder hacer debug remoto en Apache Tomcat y Apache TomEE: $ $ docker run -it -p 8080:8080 -p 8000:8000 -e CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000" tomcat:9.0.17-jre11 Anatomía de las opciones utilizadas: docker run Comando para…
Read More
In this blog post, I will show you how to create a distribution of your application that ships with TomEE so you can run your application out of the box. What is a Fat Jar? Fat Jar, Uber Jar, Shaded Jar. These have different names, but all of them have the same meaning. It is simply a Jar file that contains all of your project class files, plus all the classes of the dependencies of the project. This concept is not really new, it has been used for several years. However, with the growing popularity of cloud deployments and adoption…
Read More
This is a detailed followup to an Arquillian talk I held at JAX Germany, having had the honour of being asked to do the talk by Aslak Knutsen (the Arquillian project lead). Aslak provided some useful pointers and information to get me up to spec for the talk, so many thanks Aslak. The entire blog source code can be found on GitHub here, so you might want to fork that first before reading on. What is Arquillian Cube? This article assumes that you are already familiar with the Arquillian extensible testing platform; if not, then you should pop over to…
Read More