JBoss EAPJakarta EEJava 21企業系統升級

JBoss EAP 01: standalone, domains, and management interfaces

··3 min read
Back to the JBoss EAP learning path

A colleague changed configuration, but requests still show the old behavior. First confirm the same instance: one host can run several JVMs, and the management endpoint may differ from the server receiving HTTP traffic. Start by mapping names to actual targets.

Standalone is a management mode, not a Boot JAR

An EAP standalone instance manages one application server, commonly using configuration under standalone/configuration. It can still host WARs and enterprise components. A standalone Boot JAR describes application packaging and startup at a different layer.

bash
# For your own isolated training installation only.
# Run from the EAP installation directory; not executed for this tutorial.
./bin/standalone.sh -c standalone.xml

This illustrates a training installation, not a universal corporate startup command. RPM services, containers, or service managers may own launch arguments and JDK selection. Find the actual configuration from that entry point. Use managed interfaces for live changes rather than editing XML concurrently with a running server.

Domains centralize management; servers execute applications

text
Domain controller / domain model
  → host controller
    → server A ─┐
    → server B ─┴→ server-group → profile + socket-binding group

Application requests execute on the server JVMs.

domain.xml holds shared configuration; host.xml describes host-level roles and servers. Server groups associate servers with profiles, deployments, and network configuration. An EAP profile groups subsystem settings and is unrelated to a Spring profile. Domain management alone does not establish load balancing or session replication.

Separate management from application HTTP

text
# Example local management address; use the actual authorized listener.
./bin/jboss-cli.sh --connect --controller=127.0.0.1:9990

# In the connected CLI, for a standalone training server:
version
:read-children-names(child-type=subsystem)
deployment info

9990 is an example address; installations may use different ports, TLS, or proxies. Check version information and deployment state. Permission failures, missing resources, and successful empty results are different. Domain profile configuration and per-server runtime use different addresses; a standalone root address cannot simply stand in for them.

Exercise: inspect declarations without EAP

bash
python3 inventory.py fixtures/standalone.synthetic.xml

Run this inside the kit. Find OrdersDS, AuditXA, mq-jakarta, and orders.war. The HTTP port remains ${jboss.http.port:8080}: the tool does not resolve properties, offsets, or listener state. This exercises XML reading, not an EAP-valid configuration or successful startup.

Check yourself, then compare

Does a default-looking 8080 declaration establish the listening port? No: configuration selection, expressions, offsets, and runtime remain unverified. Record the mode, host, server, group, and profile in the workbook. Distinguish not applicable from unknown.

Download the EAP offline kit: inventory, exercises, workbookNext: 02: WAR/EAR and deployment

Sources