Markdown Converter
Agent skill for markdown-converter
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Sign in to like and favorite skills
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
rqboot is a Java 21 multi-module Maven project providing a bootstrapping framework for Ricequant applications. It includes utilities for application lifecycle management, JMX monitoring, configuration management, and common helper functions.
mvn clean install
mvn clean install -DskipTests
mvn test
mvn test -pl <module-name> # Example: mvn test -pl lang
mvn generate-sources
mvn versions:display-dependency-updates
lang - Core utilities and helpers
DateTimeHelper, StringHelper, ArrayHelper, etc.GetOrCreateFactory, ExternalMapGetOrCreateFactory)ObjectRingBuffer)IntBiConsumer, LongBiConsumer)logging - Logging configuration
LogConfiguration for runtime log level managementLogLevelJmx for JMX-based log controlComboPrintStream for dual-output streamsconfig - Configuration management
RQConfig, RQGlobal, RQProcessConfig for JSON-based configurationCommandLineParser and CommandLineArgstarget/generated-sources/configjmx - JMX monitoring (multi-module)
@JmxBean, @JmxMethod, @JmxParam)JmxBeanRegistry for registering MBeans dynamicallyJmxCommandExecutor for remote JMX invocationboot - Application bootstrapping
RicequantMain: Main entry point with lifecycle managementIApplication: Interface for application implementationsVMStatsReporter: JVM statistics reporterIApplication implementations via classpath scanningIDaemonCallbackApplications extend
IApplication and implement:
customizeArgs(): Define command-line argumentsinit(): Initialize application with parsed argumentsstart(): Start application services with JMX registrytearDown(): Cleanup on shutdownThe framework automatically:
IApplication implementations in classpath--no-jmx specified)Beans annotated with
@JmxBean are automatically registered. Methods annotated with @JmxMethod become remotely invocable:
@JmxBean(description = "My Service") public class MyService { @JmxMethod(description = "Do something") public String doSomething(@JmxParam(name = "input") String input) { return "result"; } }
Register via:
jmxBeanRegistry.register(myServiceInstance)
Configurations are loaded from:
The codebase uses custom timestamp formats:
Use
DateTimeHelper utilities for conversions between formats.
Standard arguments available to all applications (defined in
RicemapDefaultArgs):
--cwd <path>: Set working directory--debug-level <level>: Set logging level--redirect-console: Redirect console output--no-jmx: Disable JMX server--jmx-host <host>: JMX server host (default: localhost)--jmx-port <port>: JMX server port (0 = auto-assign)--instance-name <name>: Process instance name-v, --version: Print version informationThe config module uses JAXB to generate Java classes from XSD schemas. If you modify
config-types.xsd, regenerate with:
mvn generate-sources -pl config
Maven automatically embeds git information in JARs via
git-commit-id-maven-plugin. The git.properties file includes:
DateTimeHelper uses thread-local Calendar instances set to Asia/Shanghai timezone for performance. Be aware of timezone implications.
JMX server writes connection URL to temp directory as
<process-name>.jmx for client discovery.
Key libraries used:
com.ricequantrqboot1.0-SNAPSHOT