Coding
PromptBeginner5 minmarkdown
Nano Banana Pro
Agent skill for nano-banana-pro
7
This service is a single Quarkus module bridging:
Sign in to like and favorite skills
This service is a single Quarkus module bridging:
Source path:
src/main/java/cn/junlaile/msg/stream/relay/multi
Key packages:
config – configuration mappings (RabbitMQ, AMQP endpoint)protocol.stomp – STOMP endpoint /wsprotocol.amqp – AMQP 1.0 relay (AmqpRelayEndpoint)protocol.common – destination parsing, frame conversionrabbit – RabbitMQ client manager (connection lifecycle, publish, queue ops)support – REST resources, queue mapping managementAMQP 1.0 当前行为说明 (重要):
senderOpen 中建立内部 RabbitMQ consumer 并推送)。Put new shared utilities under
protocol.common or a focused subpackage; avoid premature module splitting.
mvn quarkus:dev — start hot-reload dev mode with live reload and STOMP endpoint.mvn compile — compile against Java 21 to validate changes quickly.mvn test — run unit/integration suites via Surefire and Quarkus JUnit 5.mvn package -DskipTests — build the runnable JAR for deployment; omit tests only when CI already passed.Follow standard Java style with 4-space indentation, UTF-8 source encoding, and class-per-file organization. Use PascalCase for types, camelCase for members, and uppercase snake for constants. Prefer constructor or CDI injection over field injection to align with Quarkus best practices. Keep REST paths and queues descriptive and kebab-case (e.g.,
/queue-mappings). JSON payloads should remain camelCase to match current endpoints.
Tests belong in
src/test/java mirroring the production package path. New tests should extend JUnit 5, using @QuarkusTest for wiring and Mockito for broker stubs. Name classes with the *Test suffix; reserve *IT for long-running integration flows. Focus coverage on QueueMappingManager, StompRelayEndpoint, and health endpoints before adding new functionality.
Git history favors concise, present-tense summaries (e.g.,
stomp协议转发). Use one-line subjects under 50 characters, optionally in Chinese, and skip ending punctuation. PRs should include a problem statement, highlights of changed endpoints or queues, config impacts, and manual test notes or curl examples where relevant. Link issues or tasks when available and attach any screenshots demonstrating client connectivity.
application.properties (relay.rabbitmq.*).relay.amqp.endpoint.port (default 5673)./exchange/<exchange>/<routingKey>;发送到队列:/queue/<queue>。