Java containerization for modular PF4j applications

Here’s a brief story about container optimization that came about due to frustration over long docker build times. The existing software architecture We’re dealing with a modular PF4J application whose containers contain (apologies for the alliteration): an entrypoint JAR file; exactly one plugin JAR. The former interacts with Kafka and triggers the latter upon receiving records belonging to a specific topic: services: one-of-the-plugins: image: ${ENTRYPOINT_JAR_IMAGE} command: [ "--kafka_server", "${KAFKA_INTERNAL_ADDR}", "--plugin_list", "OPAL", # always one :/ "--topic", "OPAL=input.

Continue reading