JADCHub appeared in 2026 as an experimental ADC hub written for Java 25. The public GitLab project was created on 2026/05/24, and DCHUBLIST announced the software on 2026/07/11 with the version string 0.9.0-SNAPSHOT. That version identifies a development snapshot rather than a stable production release.
The project is notable for testing a modern Java design against the requirements of a Direct Connect hub. Its published description names Java virtual threads, a framework-free core, hexagonal architecture, ports and adapters, and manual constructor injection. The available build instructions support either a GraalVM native executable or a self-contained Java archive.
JADCHub should therefore be treated as development software. It is useful for studying a recent ADC server implementation and testing clients, but the surviving project record does not establish a stable release line, a long-term compatibility policy, or a mature upgrade path.
Overview And Status
Project Origin
The project is maintained under the ADCHub namespace on GitLab. The first public DCHUBLIST topic described it as a Java 25 ADC hub with no application framework. The same topic supplied source material and instructions for building both native and JVM-based distributions.
The name has appeared as both JADCH and JADCHub. The GitLab project uses JADCHub, so that spelling should be used when referring to the software itself. JADCH is useful only when identifying the wording of the original forum topic.
Architecture And Build Targets
The published design uses Java virtual threads to handle concurrent connections without assigning a traditional operating-system thread to every client. The project description also identifies a clean or hexagonal architecture. That approach separates the protocol and application core from network, storage, and configuration adapters.
Two build paths were documented. A GraalVM 25 native-image build produces an executable under target/jadchub. A Maven package build produces an Uber JAR that runs with Java 25 and the preview-feature switch enabled. The native build was presented as the preferred deployment, while the JAR remains useful for debugging and development.
Configuration And Listener Model
The published startup commands pass config/application.yml to the executable or JAR. User records are kept separately in config/users.yml. The development package includes a default administrator account named admin with the password changeme; that credential must be replaced before any listener is exposed outside a controlled test system.
The sample configuration binds to IPv6 and IPv4 through the unspecified address ::, with the address and port controlled in YAML. The forum example uses a local listener at adc://localhost:1511. TLS configuration is also described through certificate, private-key, minimum-version, cipher, and requirement settings.
Current Status
DCHUBLIST currently reports one public deployment identifying itself as 0.9.0-SNAPSHOT. That observation proves that the development build has been connected to a public pinger. It does not convert the snapshot into a stable release or establish that every advertised feature is complete.
No numbered stable release, compatibility matrix, migration guide, or published long-term support policy is visible in the current project record. Operators should pin the exact Git revision used for a test deployment and expect configuration or storage formats to change while the project remains in early development.
Operation And Recovery
Building And Starting
The native build requires GraalVM 25 with native-image and uses the Maven native profile. The JVM build requires Java 25 and starts the packaged JAR with preview features enabled. Preserve the Maven project, lock the Java and GraalVM versions, and record the Git commit before comparing behavior between builds.
A failure before the listener opens should be investigated from the build output, Java version, configuration path, and YAML syntax. A failure after the listener opens requires the ADC connection log, the client version, and the first status or command that differs from the expected login sequence.
First-Start Security
Replace the sample administrator password before allowing remote connections. Keep config/users.yml outside public web roots, restrict its filesystem permissions, and do not publish it in a bug report. TLS private keys require the same protection.
Start with a loopback-only listener while checking account behavior, feature negotiation, client compatibility, and restart behavior. Move to a public interface only after the administrator credentials, TLS settings, logs, and recovery procedure have been reviewed.
Backup And Recovery
Back up the complete config directory, certificate material, user data, logs, exact source revision, and the build toolchain version. A binary alone is not enough to reconstruct an early development deployment if the matching source and configuration schema later change.
When updating between snapshots, compare the YAML structure and user-record format before replacing the executable. Test the new revision on another port with copied non-secret configuration. Do not assume that a snapshot can read data produced by a later or earlier commit.
Verified Resources
The resources below document the current project, its original public announcement, and the version observed by a live hublist. None of them represents a stable-release guarantee.
| Label | Link | Description |
|---|---|---|
| JADCHub GitLab Project | https://gitlab.com/adchub/jadchub | Project-controlled source location and current development identity. |
| JADCH Development Topic | https://forum.dchublist.org/viewtopic.php?f=3&t=1211 | Original public description of the Java 25 design, native-image build, Uber JAR, configuration, and local listener. |
| DCHUBLIST Software Statistics | https://en.dchublist.org/?page=stats | Current public observation of a hub advertising JADCHub 0.9.0-SNAPSHOT. |
Related Direct Connect Reading
ADCH++ documents a mature C++ ADC server and provides a useful contrast with JADCHub's Java architecture. uHub covers another focused ADC hub implementation with an established release and documentation history.
LuaDCH-NG is relevant when comparing a recent scripting-oriented ADC server with JADCHub's compiled Java design. Use Support when a development deployment needs help that is not covered by the project's public topic.
Comments
No Comments Yet. Start The Conversation.