Skip to content

GuicedEE/Examples

Repository files navigation

GuicedEE Examples

Comprehensive examples demonstrating all GuicedEE functionality. Each example includes:

  • JPMS module-info.java — proper requires, exports, opens, and provides declarations
  • Moditect JLink — runtime image creation via moditect-maven-plugin (create-runtime-image)
  • Maven JLink — classic maven-jlink-plugin packaging (in BasicJLink/ submodules where available)

Prerequisites

  • JDK 25+
  • Maven 4 (or use the Maven wrapper)
  • GuicedEE BOM must be installed locally or available from your configured Maven repository

Building

mvn clean install -Penable-guicedee

To build an individual example:

cd Rest/Basic
mvn clean package

The moditect jlink image is output to target/jlink-image/. Run with:

target/jlink-image/bin/<launcher-name>

Examples

Module Description Key Dependencies
Inject Core DI bootstrap, lifecycle hooks (IGuiceModule, IGuicePostStartup), Guice bindings inject
CDI Jakarta CDI annotation bridge (@ApplicationScoped, @Inject via CDI) inject
Config MicroProfile Config with @ConfigProperty injection inject, config
Health MicroProfile Health with @Liveness and @Readiness checks inject, health
Metrics MicroProfile Metrics with @Counted, @Timed, Prometheus endpoint inject, metrics
Telemetry OpenTelemetry tracing with @Trace and @SpanAttribute inject, guiced-telemetry
Vertx Vert.x event bus consumers and publishers with @VertxEventDefinition inject, vertx
Web Vert.x Web server with custom routes via VertxRouterConfigurator SPI inject, web
Rest Jakarta REST (JAX-RS) resources with @Path, @GET, @POST inject, rest
RestClient Annotation-driven REST client with @Endpoint and RestClient inject, rest-client
OpenAPI Automatic OpenAPI 3.1 spec generation + Swagger UI inject, rest, openapi, guiced-swagger-ui
WebServices SOAP web services with JAX-WS annotations inject, guiced-web-services
WebSockets WebSocket messaging with action-based routing (IWebSocketMessageReceiver) inject, websockets
Persistence Reactive JPA with Hibernate Reactive 7 and Mutiny sessions inject, persistence, hibernate-reactive
RabbitMQ Annotation-driven RabbitMQ with @QueueExchange, QueueConsumer/Publisher inject, rabbitmq
Kafka Kafka messaging integration inject, kafka
Cerial Serial port connectivity with @Named CerialPortConnection inject, cerial
Hazelcast Hazelcast-clustered Vert.x (Server, Client, Queues) inject, vertx, hazelcast
MailClient Annotation-driven SMTP mail client with @MailConnectionOptions inject, mail-client

JLink / Moditect Runtime Image

Every Basic/ example includes the moditect-maven-plugin configured to produce a minimal runtime image.

The Rest/BasicJLink/ submodule also demonstrates the alternative maven-jlink-plugin approach with <packaging>jlink</packaging>.

About

A collection of examples that can be used to develop projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors