# Documentation for WildFly Preview: Galleon Feature Pack

Tech Preview Galleon feature pack providing possibly experimental functionality

## Coordinates §

    <dependency>
      <groupId>org.wildfly</groupId>
      <artifactId>wildfly-preview-feature-pack</artifactId>
      <version>38.0.1.Final</version>
    </dependency>

    <feature-pack>
        <location>org.wildfly:wildfly-preview-feature-pack:38.0.1.Final</location>
    </feature-pack>

## References §

- Management API
- Log and Exception Message Code

## Provided Layers §

- base-server
- batch-jberet
- bean-validation
- cdi
- cloud-profile
- cloud-server
- core-management
- core-server
- core-tools
- datasources
- datasources-web-server
- deployment-scanner
- discovery
- ee
- ee-concurrency
- ee-core-profile-server
- ee-integration
- ee-security
- ejb
- ejb-dist-cache
- ejb-http-invoker
- ejb-lite
- ejb-local-cache
- elytron
- elytron-oidc-client
- embedded-activemq
- git-history
- h2-datasource
- h2-default-datasource
- h2-driver
- health
- hibernate-search
- iiop-openjdk
- infinispan
- internal-standalone-full-profile
- internal-standalone-profile
- io
- jakarta-data
- jaxrs
- jaxrs-core
- jaxrs-server
- jdr
- jgroups-aws
- jms-activemq
- jmx
- jmx-remoting
- jpa
- jpa-distributed
- jsf
- jsonb
- jsonp
- logging
- mail
- management
- messaging-activemq
- metrics
- micrometer
- microprofile-config
- microprofile-fault-tolerance
- microprofile-health
- microprofile-jwt
- microprofile-lra-coordinator
- microprofile-lra-participant
- microprofile-openapi
- microprofile-platform
- microprofile-reactive-messaging
- microprofile-reactive-messaging-amqp
- microprofile-reactive-messaging-kafka
- microprofile-reactive-streams-operators
- microprofile-rest-client
- microprofile-telemetry
- mod_cluster
- mvc-krazo
- naming
- observability
- opentelemetry
- pojo
- remote-activemq
- remoting
- request-controller
- resource-adapters
- sar
- security-manager
- servlet
- singleton-ha
- singleton-local
- transactions
- undertow
- undertow-https
- undertow-load-balancer
- vertx
- web-clustering
- web-console
- web-passivation
- web-server
- webservices

### base-server §

#### Management Model

    {
      "interface" : {
        "public" : {
          "_address" : "/interface=*",
          "attributes" : [ {
            "name" : "inet-address",
            "value" : "${jboss.bind.address:127.0.0.1}",
            "_address" : "/interface=*@@@inet-address"
          } ]
        }
      },
      "server-root" : {
        "/" : {
          "_address" : "/server-root=/"
        }
      },
      "socket-binding-group" : {
        "standard-sockets" : {
          "_address" : "/socket-binding-group=*",
          "attributes" : [ {
            "name" : "default-interface",
            "value" : "public",
            "_address" : "/socket-binding-group=*@@@default-interface"
          }, {
            "name" : "port-offset",
            "value" : "${jboss.socket.binding.port-offset:0}",
            "_address" : "/socket-binding-group=*@@@port-offset"
          } ]
        }
      }
    }

#### Dependencies

- git-history - optional

#### Packages

- wildflyee.api

### batch-jberet §

Support for Jakarta Batch.

#### Management Model

    {
      "subsystem" : {
        "batch-jberet" : {
          "_address" : "/subsystem=batch-jberet",
          "attributes" : [ {
            "name" : "default-job-repository",
            "value" : "in-memory",
            "_address" : "/subsystem=batch-jberet@@@default-job-repository"
          }, {
            "name" : "default-thread-pool",
            "value" : "batch",
            "_address" : "/subsystem=batch-jberet@@@default-thread-pool"
          }, {
            "name" : "security-domain",
            "value" : "ApplicationDomain",
            "_address" : "/subsystem=batch-jberet@@@security-domain"
          } ],
          "in-memory-job-repository" : {
            "in-memory" : {
              "_address" : "/subsystem=batch-jberet/in-memory-job-repository=*"
            }
          },
          "thread-pool" : {
            "batch" : {
              "_address" : "/subsystem=batch-jberet/thread-pool=*",
              "attributes" : [ {
                "name" : "keepalive-time",
                "value" : "{ unit=SECONDS, time=30 }",
                "_address" : "/subsystem=batch-jberet/thread-pool=*@@@keepalive-time"
              }, {
                "name" : "max-threads",
                "value" : "10",
                "_address" : "/subsystem=batch-jberet/thread-pool=*@@@max-threads"
              } ]
            }
          }
        },
        "elytron" : {
          "_address" : "/subsystem=elytron",
          "permission-set" : {
            "default-permissions" : {
              "_address" : "/subsystem=elytron/permission-set=*",
              "attributes" : [ {
                "name" : "permissions",
                "value" : "{ target-name=*, module=org.wildfly.extension.batch.jberet, class-name=org.wildfly.extension.batch.jberet.deployment.BatchPermission }",
                "_address" : "/subsystem=elytron/permission-set=*@@@permissions"
              } ]
            }
          }
        }
      }
    }

#### Dependencies

- cdi - required
- ee - required
- elytron - required
- transactions - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for Jakarta Batch.
- org.wildfly.rule.class = jakarta.batch.api.*
- org.wildfly.rule.expected-file = /WEB-INF/classes/META-INF/batch-jobs

#### Packages

- org.wildfly.extension.batch.jberet

### bean-validation §

Support for Jakarta Bean Validation.

#### Management Model

    {
      "subsystem" : {
        "bean-validation" : {
          "_address" : "/subsystem=bean-validation"
        }
      }
    }

#### Dependencies

- base-server - required
- cdi - optional

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for Jakarta Bean Validation.
- org.wildfly.rule.annotations = jakarta.validation.*
- org.wildfly.rule.class = jakarta.validation.*

#### Packages

- org.hibernate.validator
- org.wildfly.extension.bean-validation

### cdi §

Support for Jakarta Contexts and Dependency Injection.

#### Management Model

    {
      "subsystem" : {
        "weld" : {
          "_address" : "/subsystem=weld"
        }
      }
    }

#### Dependencies

- base-server - required
- bean-validation - optional

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for Jakarta Contexts and Dependency Injection.
- org.wildfly.rule.annotations = jakarta.inject,jakarta.enterprise.context
- org.wildfly.rule.expected-file = [/META-INF/beans.xml,/WEB-INF/beans.xml]

#### Packages

- jakarta.inject.api
- jakarta.persistence.api
- org.hibernate.validator.cdi
- org.jboss.as.weld
- org.jboss.as.weld.beanvalidation
- org.jboss.as.weld.ejb
- org.jboss.as.weld.jpa
- org.jboss.as.weld.transactions
- org.jboss.as.weld.webservices

### cloud-profile §

#### Management Model

    { }

#### Dependencies

- bean-validation - optional
- cdi - optional
- ee-security - optional
- jaxrs - optional
- jms-activemq - optional
- jpa - optional
- observability - optional
- resource-adapters - optional
- web-server - required

#### Layer Properties

- org.wildfly.rule.kind = hidden

### cloud-server §

An extension of jaxrs-server to address common cloud requirements.

#### Management Model

    { }

#### Dependencies

- ee-security - optional
- jaxrs-server - required
- jms-activemq - optional
- observability - optional
- resource-adapters - optional

#### Layer Properties

- org.wildfly.category = Base WildFly server
- org.wildfly.description = An extension of jaxrs-server to address common cloud requirements.
- org.wildfly.rule.kind = base-layer

### core-management §

#### Management Model

    {
      "subsystem" : {
        "core-management" : {
          "_address" : "/subsystem=core-management"
        }
      }
    }

#### Dependencies

- base-server - required

#### Packages

- org.wildfly.extension.core-management

### core-server §

#### Management Model

    { }

#### Dependencies

- core-management - optional
- jmx-remoting - optional
- logging - optional
- management - optional
- request-controller - optional
- security-manager - optional

### core-tools §

Support for 'jboss-cli', 'add-user' and 'elytron-tool' launch scripts and configuration files.

#### Management Model

    { }

#### Dependencies

- management - optional

#### Layer Properties

- org.wildfly.category = Management
- org.wildfly.description = Support for 'jboss-cli', 'add-user' and 'elytron-tool' launch scripts and configuration files.
- org.wildfly.rule.add-on = management,wildfly-cli
- org.wildfly.rule.add-on-depends-on = all-dependencies
- org.wildfly.rule.add-on-description = Server command line tools: jboss-cli, add-user, elytron-tool.

#### Packages

- core-tools
- org.jboss.as.cli
- org.jboss.as.domain-add-user
- org.wildfly.security.elytron-tool

### datasources §

#### Management Model

    {
      "subsystem" : {
        "datasources" : {
          "_address" : "/subsystem=datasources"
        },
        "jca" : {
          "_address" : "/subsystem=jca",
          "archive-validation" : {
            "archive-validation" : {
              "_address" : "/subsystem=jca/archive-validation=archive-validation",
              "attributes" : [ {
                "name" : "enabled",
                "value" : "true",
                "_address" : "/subsystem=jca/archive-validation=archive-validation@@@enabled"
              }, {
                "name" : "fail-on-error",
                "value" : "true",
                "_address" : "/subsystem=jca/archive-validation=archive-validation@@@fail-on-error"
              }, {
                "name" : "fail-on-warn",
                "value" : "false",
                "_address" : "/subsystem=jca/archive-validation=archive-validation@@@fail-on-warn"
              } ]
            }
          },
          "bean-validation" : {
            "bean-validation" : {
              "_address" : "/subsystem=jca/bean-validation=bean-validation",
              "attributes" : [ {
                "name" : "enabled",
                "value" : "true",
                "_address" : "/subsystem=jca/bean-validation=bean-validation@@@enabled"
              } ]
            }
          },
          "bootstrap-context" : {
            "default" : {
              "_address" : "/subsystem=jca/bootstrap-context=*",
              "attributes" : [ {
                "name" : "name",
                "value" : "default",
                "_address" : "/subsystem=jca/bootstrap-context=*@@@name"
              }, {
                "name" : "workmanager",
                "value" : "default",
                "_address" : "/subsystem=jca/bootstrap-context=*@@@workmanager"
              } ]
            }
          },
          "cached-connection-manager" : {
            "cached-connection-manager" : {
              "_address" : "/subsystem=jca/cached-connection-manager=cached-connection-manager",
              "attributes" : [ {
                "name" : "install",
                "value" : "true",
                "_address" : "/subsystem=jca/cached-connection-manager=cached-connection-manager@@@install"
              } ]
            }
          },
          "workmanager" : {
            "default" : {
              "_address" : "/subsystem=jca/workmanager=*",
              "attributes" : [ {
                "name" : "name",
                "value" : "default",
                "_address" : "/subsystem=jca/workmanager=*@@@name"
              } ],
              "long-running-threads" : {
                "default" : {
                  "_address" : "/subsystem=jca/workmanager=*/long-running-threads=*",
                  "attributes" : [ {
                    "name" : "core-threads",
                    "value" : "50",
                    "_address" : "/subsystem=jca/workmanager=*/long-running-threads=*@@@core-threads"
                  }, {
                    "name" : "keepalive-time",
                    "value" : "{ unit=SECONDS, time=10 }",
                    "_address" : "/subsystem=jca/workmanager=*/long-running-threads=*@@@keepalive-time"
                  }, {
                    "name" : "max-threads",
                    "value" : "50",
                    "_address" : "/subsystem=jca/workmanager=*/long-running-threads=*@@@max-threads"
                  }, {
                    "name" : "queue-length",
                    "value" : "50",
                    "_address" : "/subsystem=jca/workmanager=*/long-running-threads=*@@@queue-length"
                  } ]
                }
              },
              "short-running-threads" : {
                "default" : {
                  "_address" : "/subsystem=jca/workmanager=*/short-running-threads=*",
                  "attributes" : [ {
                    "name" : "core-threads",
                    "value" : "50",
                    "_address" : "/subsystem=jca/workmanager=*/short-running-threads=*@@@core-threads"
                  }, {
                    "name" : "keepalive-time",
                    "value" : "{ unit=SECONDS, time=10 }",
                    "_address" : "/subsystem=jca/workmanager=*/short-running-threads=*@@@keepalive-time"
                  }, {
                    "name" : "max-threads",
                    "value" : "50",
                    "_address" : "/subsystem=jca/workmanager=*/short-running-threads=*@@@max-threads"
                  }, {
                    "name" : "queue-length",
                    "value" : "50",
                    "_address" : "/subsystem=jca/workmanager=*/short-running-threads=*@@@queue-length"
                  } ]
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- transactions - required

#### Layer Properties

- org.wildfly.rule.class = java.sql,javax.sql

#### Packages

- org.jboss.as.connector

### datasources-web-server §

A servlet container with support for datasources.

#### Management Model

    {
      "subsystem" : {
        "elytron" : {
          "_address" : "/subsystem=elytron",
          "http-authentication-factory" : {
            "application-http-authentication" : {
              "_address" : "/subsystem=elytron/http-authentication-factory=*",
              "attributes" : [ {
                "name" : "http-server-mechanism-factory",
                "value" : "global",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@http-server-mechanism-factory"
              }, {
                "name" : "mechanism-configurations",
                "value" : "[{mechanism-name=BASIC,mechanism-realm-configurations=[{realm-name=ApplicationRealm}]}]",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@mechanism-configurations"
              }, {
                "name" : "security-domain",
                "value" : "ApplicationDomain",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@security-domain"
              } ]
            }
          }
        },
        "undertow" : {
          "_address" : "/subsystem=undertow",
          "application-security-domain" : {
            "other" : {
              "_address" : "/subsystem=undertow/application-security-domain=*",
              "attributes" : [ {
                "name" : "security-domain",
                "value" : "ApplicationDomain",
                "_address" : "/subsystem=undertow/application-security-domain=*@@@security-domain"
              } ]
            }
          },
          "server" : {
            "default-server" : {
              "_address" : "/subsystem=undertow/server=*",
              "host" : {
                "default-host" : {
                  "_address" : "/subsystem=undertow/server=*/host=*",
                  "setting" : {
                    "http-invoker" : {
                      "_address" : "/subsystem=undertow/server=*/host=*/setting=http-invoker",
                      "attributes" : [ {
                        "name" : "http-authentication-factory",
                        "value" : "application-http-authentication",
                        "_address" : "/subsystem=undertow/server=*/host=*/setting=http-invoker@@@http-authentication-factory"
                      } ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- core-server - required
- core-tools - optional
- datasources - optional
- elytron - required
- web-server - required

#### Layer Properties

- org.wildfly.category = Base WildFly server
- org.wildfly.description = A servlet container with support for datasources.
- org.wildfly.rule.kind = base-layer

#### Packages

- org.jboss.as.patching.cli
- org.wildfly.extension.undertow

### deployment-scanner §

#### Management Model

    {
      "subsystem" : {
        "deployment-scanner" : {
          "_address" : "/subsystem=deployment-scanner",
          "scanner" : {
            "default" : {
              "_address" : "/subsystem=deployment-scanner/scanner=*",
              "attributes" : [ {
                "name" : "path",
                "value" : "deployments",
                "_address" : "/subsystem=deployment-scanner/scanner=*@@@path"
              }, {
                "name" : "relative-to",
                "value" : "jboss.server.base.dir",
                "_address" : "/subsystem=deployment-scanner/scanner=*@@@relative-to"
              }, {
                "name" : "runtime-failure-causes-rollback",
                "value" : "${jboss.deployment.scanner.rollback.on.failure:false}",
                "_address" : "/subsystem=deployment-scanner/scanner=*@@@runtime-failure-causes-rollback"
              }, {
                "name" : "scan-interval",
                "value" : "5000",
                "_address" : "/subsystem=deployment-scanner/scanner=*@@@scan-interval"
              } ]
            }
          }
        }
      }
    }

#### Dependencies

- base-server - required

#### Packages

- org.jboss.as.deployment-scanner

### discovery §

#### Management Model

    {
      "subsystem" : {
        "discovery" : {
          "_address" : "/subsystem=discovery"
        }
      }
    }

#### Dependencies

- base-server - required

#### Packages

- org.wildfly.extension.discovery

### ee §

#### Management Model

    { }

#### Dependencies

- ee-concurrency - optional
- ee-integration - required

#### Packages

- jakarta.resource.api
- jakarta.xml.bind.api

### ee-concurrency §

Support for Jakarta Concurrency.

#### Management Model

    {
      "subsystem" : {
        "ee" : {
          "_address" : "/subsystem=ee",
          "context-service" : {
            "default" : {
              "_address" : "/subsystem=ee/context-service=*",
              "attributes" : [ {
                "name" : "jndi-name",
                "value" : "java:jboss/ee/concurrency/context/default",
                "_address" : "/subsystem=ee/context-service=*@@@jndi-name"
              } ]
            }
          },
          "managed-executor-service" : {
            "default" : {
              "_address" : "/subsystem=ee/managed-executor-service=*",
              "attributes" : [ {
                "name" : "context-service",
                "value" : "default",
                "_address" : "/subsystem=ee/managed-executor-service=*@@@context-service"
              }, {
                "name" : "hung-task-termination-period",
                "value" : "0",
                "_address" : "/subsystem=ee/managed-executor-service=*@@@hung-task-termination-period"
              }, {
                "name" : "hung-task-threshold",
                "value" : "60000",
                "_address" : "/subsystem=ee/managed-executor-service=*@@@hung-task-threshold"
              }, {
                "name" : "jndi-name",
                "value" : "java:jboss/ee/concurrency/executor/default",
                "_address" : "/subsystem=ee/managed-executor-service=*@@@jndi-name"
              }, {
                "name" : "keepalive-time",
                "value" : "5000",
                "_address" : "/subsystem=ee/managed-executor-service=*@@@keepalive-time"
              } ]
            }
          },
          "managed-scheduled-executor-service" : {
            "default" : {
              "_address" : "/subsystem=ee/managed-scheduled-executor-service=*",
              "attributes" : [ {
                "name" : "context-service",
                "value" : "default",
                "_address" : "/subsystem=ee/managed-scheduled-executor-service=*@@@context-service"
              }, {
                "name" : "hung-task-termination-period",
                "value" : "0",
                "_address" : "/subsystem=ee/managed-scheduled-executor-service=*@@@hung-task-termination-period"
              }, {
                "name" : "hung-task-threshold",
                "value" : "60000",
                "_address" : "/subsystem=ee/managed-scheduled-executor-service=*@@@hung-task-threshold"
              }, {
                "name" : "jndi-name",
                "value" : "java:jboss/ee/concurrency/scheduler/default",
                "_address" : "/subsystem=ee/managed-scheduled-executor-service=*@@@jndi-name"
              }, {
                "name" : "keepalive-time",
                "value" : "3000",
                "_address" : "/subsystem=ee/managed-scheduled-executor-service=*@@@keepalive-time"
              } ]
            }
          },
          "managed-thread-factory" : {
            "default" : {
              "_address" : "/subsystem=ee/managed-thread-factory=*",
              "attributes" : [ {
                "name" : "context-service",
                "value" : "default",
                "_address" : "/subsystem=ee/managed-thread-factory=*@@@context-service"
              }, {
                "name" : "jndi-name",
                "value" : "java:jboss/ee/concurrency/factory/default",
                "_address" : "/subsystem=ee/managed-thread-factory=*@@@jndi-name"
              } ]
            }
          },
          "service" : {
            "default-bindings" : {
              "_address" : "/subsystem=ee/service=default-bindings",
              "attributes" : [ {
                "name" : "context-service",
                "value" : "java:jboss/ee/concurrency/context/default",
                "_address" : "/subsystem=ee/service=default-bindings@@@context-service"
              }, {
                "name" : "managed-executor-service",
                "value" : "java:jboss/ee/concurrency/executor/default",
                "_address" : "/subsystem=ee/service=default-bindings@@@managed-executor-service"
              }, {
                "name" : "managed-scheduled-executor-service",
                "value" : "java:jboss/ee/concurrency/scheduler/default",
                "_address" : "/subsystem=ee/service=default-bindings@@@managed-scheduled-executor-service"
              }, {
                "name" : "managed-thread-factory",
                "value" : "java:jboss/ee/concurrency/factory/default",
                "_address" : "/subsystem=ee/service=default-bindings@@@managed-thread-factory"
              } ]
            }
          }
        }
      }
    }

#### Dependencies

- naming - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for Jakarta Concurrency.
- org.wildfly.rule.class = jakarta.enterprise.concurrent

#### Packages

- jakarta.json.api
- org.glassfish.javax.el
- org.jboss.as.ee
- org.jboss.invocation
- org.wildfly.naming

### ee-core-profile-server §

A Jakarta EE Core Profile server.

#### Management Model

    {
      "subsystem" : {
        "elytron" : {
          "_address" : "/subsystem=elytron",
          "http-authentication-factory" : {
            "application-http-authentication" : {
              "_address" : "/subsystem=elytron/http-authentication-factory=*",
              "attributes" : [ {
                "name" : "http-server-mechanism-factory",
                "value" : "global",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@http-server-mechanism-factory"
              }, {
                "name" : "mechanism-configurations",
                "value" : "[{mechanism-name=BASIC,mechanism-realm-configurations=[{realm-name=ApplicationRealm}]}]",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@mechanism-configurations"
              }, {
                "name" : "security-domain",
                "value" : "ApplicationDomain",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@security-domain"
              } ]
            }
          }
        },
        "undertow" : {
          "_address" : "/subsystem=undertow",
          "application-security-domain" : {
            "other" : {
              "_address" : "/subsystem=undertow/application-security-domain=*",
              "attributes" : [ {
                "name" : "security-domain",
                "value" : "ApplicationDomain",
                "_address" : "/subsystem=undertow/application-security-domain=*@@@security-domain"
              } ]
            }
          },
          "server" : {
            "default-server" : {
              "_address" : "/subsystem=undertow/server=*",
              "host" : {
                "default-host" : {
                  "_address" : "/subsystem=undertow/server=*/host=*",
                  "setting" : {
                    "http-invoker" : {
                      "_address" : "/subsystem=undertow/server=*/host=*/setting=http-invoker",
                      "attributes" : [ {
                        "name" : "http-authentication-factory",
                        "value" : "application-http-authentication",
                        "_address" : "/subsystem=undertow/server=*/host=*/setting=http-invoker@@@http-authentication-factory"
                      } ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- cdi - required
- core-server - required
- ee-integration - required
- elytron - required
- jaxrs-core - required
- jsonb - required
- jsonp - required

#### Layer Properties

- org.wildfly.category = Base WildFly server
- org.wildfly.description = A Jakarta EE Core Profile server.
- org.wildfly.rule.kind = default-base-layer

#### Packages

- org.wildfly.extension.undertow

### ee-integration §

#### Management Model

    {
      "subsystem" : {
        "ee" : {
          "_address" : "/subsystem=ee",
          "attributes" : [ {
            "name" : "spec-descriptor-property-replacement",
            "value" : "false",
            "_address" : "/subsystem=ee@@@spec-descriptor-property-replacement"
          } ]
        }
      }
    }

#### Dependencies

- jsonb - optional
- naming - required

#### Layer Properties

- org.wildfly.rule.annotations = jakarta.annotation,jakarta.annotation.security,jakarta.annotation.sql,jakarta.xml.bind.annotation,jakarta.xml.bind.annotation.adapters
- org.wildfly.rule.class = jakarta.xml.bind.*

#### Packages

- jakarta.json.api
- org.glassfish.javax.el
- org.jboss.as.ee
- org.jboss.invocation
- org.wildfly.naming

### ee-security §

Support for EE Security.

#### Management Model

    {
      "subsystem" : {
        "ee-security" : {
          "_address" : "/subsystem=ee-security"
        }
      }
    }

#### Dependencies

- cdi - required
- elytron - required

#### Layer Properties

- org.wildfly.category = Security
- org.wildfly.description = Support for EE Security.
- org.wildfly.rule.annotations = jakarta.security.enterprise.authentication.mechanism.http.*,jakarta.security.enterprise.identitystore
- org.wildfly.rule.class = jakarta.security.*

#### Packages

- org.wildfly.extension.ee-security
- org.wildfly.security.jakarta.security

### ejb §

Support for Jakarta Enterprise Beans, excluding the IIOP protocol.

#### Management Model

    {
      "subsystem" : {
        "ejb3" : {
          "_address" : "/subsystem=ejb3",
          "attributes" : [ {
            "name" : "default-mdb-instance-pool",
            "value" : "mdb-strict-max-pool",
            "_address" : "/subsystem=ejb3@@@default-mdb-instance-pool"
          }, {
            "name" : "default-resource-adapter-name",
            "value" : "${ejb.resource-adapter-name:activemq-ra.rar}",
            "_address" : "/subsystem=ejb3@@@default-resource-adapter-name"
          } ],
          "service" : {
            "remote" : {
              "_address" : "/subsystem=ejb3/service=remote",
              "attributes" : [ {
                "name" : "connectors",
                "value" : "[http-remoting-connector]",
                "_address" : "/subsystem=ejb3/service=remote@@@connectors"
              }, {
                "name" : "thread-pool-name",
                "value" : "default",
                "_address" : "/subsystem=ejb3/service=remote@@@thread-pool-name"
              } ],
              "channel-creation-options" : {
                "MAX_OUTBOUND_MESSAGES" : {
                  "_address" : "/subsystem=ejb3/service=remote/channel-creation-options=*",
                  "attributes" : [ {
                    "name" : "type",
                    "value" : "remoting",
                    "_address" : "/subsystem=ejb3/service=remote/channel-creation-options=*@@@type"
                  }, {
                    "name" : "value",
                    "value" : "1234",
                    "_address" : "/subsystem=ejb3/service=remote/channel-creation-options=*@@@value"
                  } ]
                }
              }
            }
          },
          "strict-max-bean-instance-pool" : {
            "mdb-strict-max-pool" : {
              "_address" : "/subsystem=ejb3/strict-max-bean-instance-pool=*",
              "attributes" : [ {
                "name" : "derive-size",
                "value" : "from-cpu-count",
                "_address" : "/subsystem=ejb3/strict-max-bean-instance-pool=*@@@derive-size"
              }, {
                "name" : "timeout",
                "value" : "5",
                "_address" : "/subsystem=ejb3/strict-max-bean-instance-pool=*@@@timeout"
              }, {
                "name" : "timeout-unit",
                "value" : "MINUTES",
                "_address" : "/subsystem=ejb3/strict-max-bean-instance-pool=*@@@timeout-unit"
              } ]
            }
          }
        },
        "naming" : {
          "_address" : "/subsystem=naming",
          "service" : {
            "remote-naming" : {
              "_address" : "/subsystem=naming/service=remote-naming"
            }
          }
        }
      }
    }

#### Dependencies

- ejb-lite - required
- messaging-activemq - optional
- remoting - required
- resource-adapters - required
- undertow - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for Jakarta Enterprise Beans, excluding the IIOP protocol.
- org.wildfly.rule.annotations = jakarta.ejb.MessageDriven,jakarta.ejb.Remote
- org.wildfly.rule.class = jakarta.ejb.MessageDrivenContext

#### Packages

- org.jboss.as.ejb3
- org.jboss.as.naming
- org.jboss.remoting

### ejb-dist-cache §

Infinispan-based distributed cache for stateful session beans.

ejb-local-cache layer must be explicitly excluded if ejb-dist-cache is in use.

#### Management Model

    {
      "interface" : {
        "private" : {
          "_address" : "/interface=*",
          "attributes" : [ {
            "name" : "inet-address",
            "value" : "${jboss.bind.address.private:127.0.0.1}",
            "_address" : "/interface=*@@@inet-address"
          } ]
        }
      },
      "socket-binding-group" : {
        "standard-sockets" : {
          "_address" : "/socket-binding-group=*",
          "socket-binding" : {
            "jgroups-mping" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "multicast-address",
                "value" : "${jboss.default.multicast.address:230.0.0.4}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-address"
              }, {
                "name" : "multicast-port",
                "value" : "45700",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-port"
              } ]
            },
            "jgroups-tcp" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "port",
                "value" : "7600",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "jgroups-udp" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "multicast-address",
                "value" : "${jboss.default.multicast.address:230.0.0.4}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-address"
              }, {
                "name" : "multicast-port",
                "value" : "45688",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-port"
              }, {
                "name" : "port",
                "value" : "55200",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "jgroups-udp-fd" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "port",
                "value" : "54200",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            }
          }
        }
      },
      "subsystem" : {
        "distributable-ejb" : {
          "_address" : "/subsystem=distributable-ejb",
          "attributes" : [ {
            "name" : "default-bean-management",
            "value" : "default",
            "_address" : "/subsystem=distributable-ejb@@@default-bean-management"
          } ],
          "client-mappings-registry" : {
            "infinispan" : {
              "_address" : "/subsystem=distributable-ejb/client-mappings-registry=infinispan",
              "attributes" : [ {
                "name" : "cache",
                "value" : "client-mappings",
                "_address" : "/subsystem=distributable-ejb/client-mappings-registry=infinispan@@@cache"
              }, {
                "name" : "cache-container",
                "value" : "ejb",
                "_address" : "/subsystem=distributable-ejb/client-mappings-registry=infinispan@@@cache-container"
              } ]
            }
          },
          "infinispan-bean-management" : {
            "default" : {
              "_address" : "/subsystem=distributable-ejb/infinispan-bean-management=*",
              "attributes" : [ {
                "name" : "cache-container",
                "value" : "ejb",
                "_address" : "/subsystem=distributable-ejb/infinispan-bean-management=*@@@cache-container"
              }, {
                "name" : "max-active-beans",
                "value" : "10000",
                "_address" : "/subsystem=distributable-ejb/infinispan-bean-management=*@@@max-active-beans"
              } ]
            }
          },
          "infinispan-timer-management" : {
            "persistent" : {
              "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*",
              "attributes" : [ {
                "name" : "cache",
                "value" : "persistent",
                "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*@@@cache"
              }, {
                "name" : "cache-container",
                "value" : "ejb",
                "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*@@@cache-container"
              }, {
                "name" : "max-active-timers",
                "value" : "10000",
                "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*@@@max-active-timers"
              } ]
            },
            "transient" : {
              "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*",
              "attributes" : [ {
                "name" : "cache",
                "value" : "transient",
                "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*@@@cache"
              }, {
                "name" : "cache-container",
                "value" : "ejb",
                "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*@@@cache-container"
              }, {
                "name" : "max-active-timers",
                "value" : "10000",
                "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*@@@max-active-timers"
              } ]
            }
          }
        },
        "ejb3" : {
          "_address" : "/subsystem=ejb3",
          "attributes" : [ {
            "name" : "default-sfsb-cache",
            "value" : "distributable",
            "_address" : "/subsystem=ejb3@@@default-sfsb-cache"
          }, {
            "name" : "default-stateful-bean-access-timeout",
            "value" : "5000",
            "_address" : "/subsystem=ejb3@@@default-stateful-bean-access-timeout"
          } ],
          "service" : {
            "timer-service" : {
              "_address" : "/subsystem=ejb3/service=timer-service",
              "attributes" : [ {
                "name" : "default-persistent-timer-management",
                "value" : "persistent",
                "_address" : "/subsystem=ejb3/service=timer-service@@@default-persistent-timer-management"
              }, {
                "name" : "default-transient-timer-management",
                "value" : "transient",
                "_address" : "/subsystem=ejb3/service=timer-service@@@default-transient-timer-management"
              } ]
            }
          }
        },
        "infinispan" : {
          "_address" : "/subsystem=infinispan",
          "cache-container" : {
            "ejb" : {
              "_address" : "/subsystem=infinispan/cache-container=*",
              "attributes" : [ {
                "name" : "aliases",
                "value" : "[sfsb]",
                "_address" : "/subsystem=infinispan/cache-container=*@@@aliases"
              }, {
                "name" : "default-cache",
                "value" : "dist",
                "_address" : "/subsystem=infinispan/cache-container=*@@@default-cache"
              }, {
                "name" : "marshaller",
                "value" : "PROTOSTREAM",
                "_address" : "/subsystem=infinispan/cache-container=*@@@marshaller"
              }, {
                "name" : "modules",
                "value" : "[org.wildfly.clustering.ejb.infinispan]",
                "_address" : "/subsystem=infinispan/cache-container=*@@@modules"
              } ],
              "distributed-cache" : {
                "dist" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=expiration@@@interval"
                      } ]
                    },
                    "locking" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=locking",
                      "attributes" : [ {
                        "name" : "isolation",
                        "value" : "REPEATABLE_READ",
                        "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=locking@@@isolation"
                      } ]
                    },
                    "transaction" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=transaction",
                      "attributes" : [ {
                        "name" : "mode",
                        "value" : "BATCH",
                        "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=transaction@@@mode"
                      } ]
                    }
                  },
                  "store" : {
                    "file" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/store=file",
                      "attributes" : [ {
                        "name" : "passivation",
                        "value" : "true",
                        "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/store=file@@@passivation"
                      }, {
                        "name" : "purge",
                        "value" : "true",
                        "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/store=file@@@purge"
                      } ]
                    }
                  }
                },
                "persistent" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=expiration@@@interval"
                      } ]
                    },
                    "locking" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=locking",
                      "attributes" : [ {
                        "name" : "isolation",
                        "value" : "REPEATABLE_READ",
                        "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=locking@@@isolation"
                      } ]
                    },
                    "transaction" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=transaction",
                      "attributes" : [ {
                        "name" : "mode",
                        "value" : "BATCH",
                        "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=transaction@@@mode"
                      } ]
                    }
                  },
                  "store" : {
                    "file" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/store=file",
                      "attributes" : [ {
                        "name" : "passivation",
                        "value" : "true",
                        "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/store=file@@@passivation"
                      } ]
                    }
                  }
                }
              },
              "local-cache" : {
                "transient" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration@@@interval"
                      } ]
                    },
                    "locking" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=locking",
                      "attributes" : [ {
                        "name" : "isolation",
                        "value" : "REPEATABLE_READ",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=locking@@@isolation"
                      } ]
                    },
                    "transaction" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=transaction",
                      "attributes" : [ {
                        "name" : "mode",
                        "value" : "BATCH",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=transaction@@@mode"
                      } ]
                    }
                  },
                  "store" : {
                    "file" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/store=file",
                      "attributes" : [ {
                        "name" : "passivation",
                        "value" : "true",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/store=file@@@passivation"
                      }, {
                        "name" : "purge",
                        "value" : "true",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/store=file@@@purge"
                      } ]
                    }
                  }
                }
              },
              "replicated-cache" : {
                "client-mappings" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=expiration@@@interval"
                      } ]
                    }
                  }
                }
              },
              "transport" : {
                "jgroups" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/transport=jgroups",
                  "attributes" : [ {
                    "name" : "lock-timeout",
                    "value" : "60000",
                    "_address" : "/subsystem=infinispan/cache-container=*/transport=jgroups@@@lock-timeout"
                  } ]
                }
              }
            }
          }
        },
        "jgroups" : {
          "_address" : "/subsystem=jgroups",
          "attributes" : [ {
            "name" : "default-channel",
            "value" : "ee",
            "_address" : "/subsystem=jgroups@@@default-channel"
          } ],
          "channel" : {
            "ee" : {
              "_address" : "/subsystem=jgroups/channel=*",
              "attributes" : [ {
                "name" : "cluster",
                "value" : "ejb",
                "_address" : "/subsystem=jgroups/channel=*@@@cluster"
              }, {
                "name" : "stack",
                "value" : "udp",
                "_address" : "/subsystem=jgroups/channel=*@@@stack"
              } ]
            }
          },
          "stack" : {
            "tcp" : {
              "_address" : "/subsystem=jgroups/stack=*",
              "protocol" : {
                "FD_ALL3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "FRAG4" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MERGE3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MPING" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=MPING",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-mping",
                    "_address" : "/subsystem=jgroups/stack=*/protocol=MPING@@@socket-binding"
                  } ]
                },
                "RED" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UNICAST3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "VERIFY_SUSPECT2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.GMS" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.NAKACK2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.STABLE" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                }
              },
              "transport" : {
                "TCP" : {
                  "_address" : "/subsystem=jgroups/stack=*/transport=*",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-tcp",
                    "_address" : "/subsystem=jgroups/stack=*/transport=*@@@socket-binding"
                  } ]
                }
              }
            },
            "udp" : {
              "_address" : "/subsystem=jgroups/stack=*",
              "protocol" : {
                "FD_ALL3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "FD_SOCK2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=FD_SOCK2",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-udp-fd",
                    "_address" : "/subsystem=jgroups/stack=*/protocol=FD_SOCK2@@@socket-binding"
                  } ]
                },
                "FRAG4" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MERGE3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "PING" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "RED" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UNICAST3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "VERIFY_SUSPECT2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.GMS" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.NAKACK2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.STABLE" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                }
              },
              "transport" : {
                "UDP" : {
                  "_address" : "/subsystem=jgroups/stack=*/transport=*",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-udp",
                    "_address" : "/subsystem=jgroups/stack=*/transport=*@@@socket-binding"
                  } ]
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- transactions - required

#### Layer Properties

- org.wildfly.category = Clustering
- org.wildfly.description = Infinispan-based distributed cache for stateful session beans.
- org.wildfly.note = ejb-local-cache layer must be explicitly excluded if ejb-dist-cache is in use.
- org.wildfly.rule.profile-ha = ejb-local-cache

#### Packages

- org.jboss.as.clustering.infinispan
- org.jboss.as.clustering.jgroups
- org.jboss.as.ejb3
- org.wildfly.extension.clustering.ejb
- org.wildfly.extension.clustering.server

### ejb-http-invoker §

Support for invoking Jakarta Enterprise Beans over HTTP.

#### Management Model

    {
      "subsystem" : {
        "elytron" : {
          "_address" : "/subsystem=elytron",
          "http-authentication-factory" : {
            "application-http-authentication" : {
              "_address" : "/subsystem=elytron/http-authentication-factory=*",
              "attributes" : [ {
                "name" : "http-server-mechanism-factory",
                "value" : "global",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@http-server-mechanism-factory"
              }, {
                "name" : "mechanism-configurations",
                "value" : "[{mechanism-name=BASIC,mechanism-realm-configurations=[{realm-name=ApplicationRealm}]}]",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@mechanism-configurations"
              }, {
                "name" : "security-domain",
                "value" : "ApplicationDomain",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@security-domain"
              } ]
            }
          }
        },
        "undertow" : {
          "_address" : "/subsystem=undertow",
          "server" : {
            "default-server" : {
              "_address" : "/subsystem=undertow/server=*",
              "host" : {
                "default-host" : {
                  "_address" : "/subsystem=undertow/server=*/host=*",
                  "setting" : {
                    "http-invoker" : {
                      "_address" : "/subsystem=undertow/server=*/host=*/setting=http-invoker",
                      "attributes" : [ {
                        "name" : "http-authentication-factory",
                        "value" : "application-http-authentication",
                        "_address" : "/subsystem=undertow/server=*/host=*/setting=http-invoker@@@http-authentication-factory"
                      } ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- ejb-lite - required
- elytron - required
- undertow - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for invoking Jakarta Enterprise Beans over HTTP.
- org.wildfly.rule.add-on = ejb,http-invoker
- org.wildfly.rule.add-on-depends-on = all-dependencies
- org.wildfly.rule.add-on-description = Support for invoking Jakarta Enterprise Beans over HTTP.

### ejb-lite §

Support for Jakarta Enterprise Beans Lite.

#### Management Model

    {
      "subsystem" : {
        "discovery" : {
          "_address" : "/subsystem=discovery"
        },
        "ejb3" : {
          "_address" : "/subsystem=ejb3",
          "attributes" : [ {
            "name" : "default-missing-method-permissions-deny-access",
            "value" : "true",
            "_address" : "/subsystem=ejb3@@@default-missing-method-permissions-deny-access"
          }, {
            "name" : "default-security-domain",
            "value" : "other",
            "_address" : "/subsystem=ejb3@@@default-security-domain"
          }, {
            "name" : "default-sfsb-passivation-disabled-cache",
            "value" : "simple",
            "_address" : "/subsystem=ejb3@@@default-sfsb-passivation-disabled-cache"
          }, {
            "name" : "default-singleton-bean-access-timeout",
            "value" : "5000",
            "_address" : "/subsystem=ejb3@@@default-singleton-bean-access-timeout"
          }, {
            "name" : "default-slsb-instance-pool",
            "value" : "slsb-strict-max-pool",
            "_address" : "/subsystem=ejb3@@@default-slsb-instance-pool"
          }, {
            "name" : "default-stateful-bean-access-timeout",
            "value" : "5000",
            "_address" : "/subsystem=ejb3@@@default-stateful-bean-access-timeout"
          }, {
            "name" : "log-system-exceptions",
            "value" : "true",
            "_address" : "/subsystem=ejb3@@@log-system-exceptions"
          }, {
            "name" : "statistics-enabled",
            "value" : "${wildfly.ejb3.statistics-enabled:${wildfly.statistics-enabled:false}}",
            "_address" : "/subsystem=ejb3@@@statistics-enabled"
          } ],
          "application-security-domain" : {
            "other" : {
              "_address" : "/subsystem=ejb3/application-security-domain=*",
              "attributes" : [ {
                "name" : "security-domain",
                "value" : "ApplicationDomain",
                "_address" : "/subsystem=ejb3/application-security-domain=*@@@security-domain"
              } ]
            }
          },
          "distributable-cache" : {
            "distributable" : {
              "_address" : "/subsystem=ejb3/distributable-cache=*"
            }
          },
          "service" : {
            "async" : {
              "_address" : "/subsystem=ejb3/service=async",
              "attributes" : [ {
                "name" : "thread-pool-name",
                "value" : "default",
                "_address" : "/subsystem=ejb3/service=async@@@thread-pool-name"
              } ]
            },
            "timer-service" : {
              "_address" : "/subsystem=ejb3/service=timer-service",
              "attributes" : [ {
                "name" : "default-data-store",
                "value" : "default-file-store",
                "_address" : "/subsystem=ejb3/service=timer-service@@@default-data-store"
              }, {
                "name" : "thread-pool-name",
                "value" : "default",
                "_address" : "/subsystem=ejb3/service=timer-service@@@thread-pool-name"
              } ],
              "file-data-store" : {
                "default-file-store" : {
                  "_address" : "/subsystem=ejb3/service=timer-service/file-data-store=*",
                  "attributes" : [ {
                    "name" : "path",
                    "value" : "timer-service-data",
                    "_address" : "/subsystem=ejb3/service=timer-service/file-data-store=*@@@path"
                  }, {
                    "name" : "relative-to",
                    "value" : "jboss.server.data.dir",
                    "_address" : "/subsystem=ejb3/service=timer-service/file-data-store=*@@@relative-to"
                  } ]
                }
              }
            }
          },
          "simple-cache" : {
            "simple" : {
              "_address" : "/subsystem=ejb3/simple-cache=*"
            }
          },
          "strict-max-bean-instance-pool" : {
            "slsb-strict-max-pool" : {
              "_address" : "/subsystem=ejb3/strict-max-bean-instance-pool=*",
              "attributes" : [ {
                "name" : "derive-size",
                "value" : "from-worker-pools",
                "_address" : "/subsystem=ejb3/strict-max-bean-instance-pool=*@@@derive-size"
              }, {
                "name" : "timeout",
                "value" : "5",
                "_address" : "/subsystem=ejb3/strict-max-bean-instance-pool=*@@@timeout"
              }, {
                "name" : "timeout-unit",
                "value" : "MINUTES",
                "_address" : "/subsystem=ejb3/strict-max-bean-instance-pool=*@@@timeout-unit"
              } ]
            }
          },
          "thread-pool" : {
            "default" : {
              "_address" : "/subsystem=ejb3/thread-pool=*",
              "attributes" : [ {
                "name" : "keepalive-time",
                "value" : "{ unit=SECONDS, time=60 }",
                "_address" : "/subsystem=ejb3/thread-pool=*@@@keepalive-time"
              }, {
                "name" : "max-threads",
                "value" : "10",
                "_address" : "/subsystem=ejb3/thread-pool=*@@@max-threads"
              } ]
            }
          }
        },
        "elytron" : {
          "_address" : "/subsystem=elytron",
          "permission-set" : {
            "default-permissions" : {
              "_address" : "/subsystem=elytron/permission-set=*",
              "attributes" : [ {
                "name" : "permissions",
                "value" : "{ module=org.jboss.ejb-client, class-name=org.jboss.ejb.client.RemoteEJBPermission }",
                "_address" : "/subsystem=elytron/permission-set=*@@@permissions"
              } ]
            }
          }
        }
      }
    }

#### Dependencies

- ejb-local-cache - optional
- naming - required
- transactions - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for Jakarta Enterprise Beans Lite.
- org.wildfly.rule.annotations = jakarta.ejb
- org.wildfly.rule.class = jakarta.ejb

#### Packages

- org.jboss.as.ejb3
- org.wildfly.extension.discovery

### ejb-local-cache §

Infinispan-based local cache for stateful session beans.

This layer must be explicitly excluded if ejb-dist-cache is in use.

#### Management Model

    {
      "subsystem" : {
        "distributable-ejb" : {
          "_address" : "/subsystem=distributable-ejb",
          "attributes" : [ {
            "name" : "default-bean-management",
            "value" : "default",
            "_address" : "/subsystem=distributable-ejb@@@default-bean-management"
          } ],
          "client-mappings-registry" : {
            "local" : {
              "_address" : "/subsystem=distributable-ejb/client-mappings-registry=local"
            }
          },
          "infinispan-bean-management" : {
            "default" : {
              "_address" : "/subsystem=distributable-ejb/infinispan-bean-management=*",
              "attributes" : [ {
                "name" : "cache",
                "value" : "passivation",
                "_address" : "/subsystem=distributable-ejb/infinispan-bean-management=*@@@cache"
              }, {
                "name" : "cache-container",
                "value" : "ejb",
                "_address" : "/subsystem=distributable-ejb/infinispan-bean-management=*@@@cache-container"
              }, {
                "name" : "max-active-beans",
                "value" : "10000",
                "_address" : "/subsystem=distributable-ejb/infinispan-bean-management=*@@@max-active-beans"
              } ]
            }
          },
          "infinispan-timer-management" : {
            "persistent" : {
              "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*",
              "attributes" : [ {
                "name" : "cache",
                "value" : "persistent",
                "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*@@@cache"
              }, {
                "name" : "cache-container",
                "value" : "ejb",
                "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*@@@cache-container"
              }, {
                "name" : "max-active-timers",
                "value" : "10000",
                "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*@@@max-active-timers"
              } ]
            },
            "transient" : {
              "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*",
              "attributes" : [ {
                "name" : "cache",
                "value" : "transient",
                "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*@@@cache"
              }, {
                "name" : "cache-container",
                "value" : "ejb",
                "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*@@@cache-container"
              }, {
                "name" : "max-active-timers",
                "value" : "10000",
                "_address" : "/subsystem=distributable-ejb/infinispan-timer-management=*@@@max-active-timers"
              } ]
            }
          }
        },
        "ejb3" : {
          "_address" : "/subsystem=ejb3",
          "attributes" : [ {
            "name" : "default-sfsb-cache",
            "value" : "simple",
            "_address" : "/subsystem=ejb3@@@default-sfsb-cache"
          }, {
            "name" : "default-stateful-bean-access-timeout",
            "value" : "5000",
            "_address" : "/subsystem=ejb3@@@default-stateful-bean-access-timeout"
          } ]
        },
        "infinispan" : {
          "_address" : "/subsystem=infinispan",
          "cache-container" : {
            "ejb" : {
              "_address" : "/subsystem=infinispan/cache-container=*",
              "attributes" : [ {
                "name" : "aliases",
                "value" : "[sfsb]",
                "_address" : "/subsystem=infinispan/cache-container=*@@@aliases"
              }, {
                "name" : "default-cache",
                "value" : "passivation",
                "_address" : "/subsystem=infinispan/cache-container=*@@@default-cache"
              }, {
                "name" : "marshaller",
                "value" : "PROTOSTREAM",
                "_address" : "/subsystem=infinispan/cache-container=*@@@marshaller"
              }, {
                "name" : "modules",
                "value" : "[org.wildfly.clustering.ejb.infinispan]",
                "_address" : "/subsystem=infinispan/cache-container=*@@@modules"
              } ],
              "local-cache" : {
                "passivation" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration@@@interval"
                      } ]
                    }
                  },
                  "store" : {
                    "file" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/store=file",
                      "attributes" : [ {
                        "name" : "passivation",
                        "value" : "true",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/store=file@@@passivation"
                      } ]
                    }
                  }
                },
                "persistent" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration@@@interval"
                      } ]
                    },
                    "locking" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=locking",
                      "attributes" : [ {
                        "name" : "isolation",
                        "value" : "REPEATABLE_READ",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=locking@@@isolation"
                      } ]
                    },
                    "transaction" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=transaction",
                      "attributes" : [ {
                        "name" : "mode",
                        "value" : "BATCH",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=transaction@@@mode"
                      } ]
                    }
                  },
                  "store" : {
                    "file" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/store=file",
                      "attributes" : [ {
                        "name" : "preload",
                        "value" : "true",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/store=file@@@preload"
                      } ]
                    }
                  }
                },
                "transient" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration@@@interval"
                      } ]
                    },
                    "locking" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=locking",
                      "attributes" : [ {
                        "name" : "isolation",
                        "value" : "REPEATABLE_READ",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=locking@@@isolation"
                      } ]
                    },
                    "transaction" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=transaction",
                      "attributes" : [ {
                        "name" : "mode",
                        "value" : "BATCH",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=transaction@@@mode"
                      } ]
                    }
                  },
                  "store" : {
                    "file" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/store=file",
                      "attributes" : [ {
                        "name" : "passivation",
                        "value" : "true",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/store=file@@@passivation"
                      }, {
                        "name" : "purge",
                        "value" : "true",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/store=file@@@purge"
                      } ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- transactions - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Infinispan-based local cache for stateful session beans.
- org.wildfly.note = This layer must be explicitly excluded if ejb-dist-cache is in use.

#### Packages

- org.jboss.as.clustering.infinispan
- org.jboss.as.ejb3
- org.wildfly.extension.clustering.ejb
- org.wildfly.extension.clustering.server

### elytron §

#### Management Model

    {
      "subsystem" : {
        "elytron" : {
          "_address" : "/subsystem=elytron",
          "attributes" : [ {
            "name" : "disallowed-providers",
            "value" : "[OracleUcrypto]",
            "_address" : "/subsystem=elytron@@@disallowed-providers"
          }, {
            "name" : "final-providers",
            "value" : "combined-providers",
            "_address" : "/subsystem=elytron@@@final-providers"
          } ],
          "aggregate-providers" : {
            "combined-providers" : {
              "_address" : "/subsystem=elytron/aggregate-providers=*",
              "attributes" : [ {
                "name" : "providers",
                "value" : "[elytron,openssl]",
                "_address" : "/subsystem=elytron/aggregate-providers=*@@@providers"
              } ]
            }
          },
          "configurable-sasl-server-factory" : {
            "configured" : {
              "_address" : "/subsystem=elytron/configurable-sasl-server-factory=*",
              "attributes" : [ {
                "name" : "properties",
                "value" : "{wildfly.sasl.local-user.default-user=\"\\$local\",wildfly.sasl.local-user.challenge-path=\"${jboss.server.temp.dir}/auth\"}",
                "_address" : "/subsystem=elytron/configurable-sasl-server-factory=*@@@properties"
              }, {
                "name" : "sasl-server-factory",
                "value" : "elytron",
                "_address" : "/subsystem=elytron/configurable-sasl-server-factory=*@@@sasl-server-factory"
              } ]
            }
          },
          "constant-realm-mapper" : {
            "local" : {
              "_address" : "/subsystem=elytron/constant-realm-mapper=*",
              "attributes" : [ {
                "name" : "realm-name",
                "value" : "local",
                "_address" : "/subsystem=elytron/constant-realm-mapper=*@@@realm-name"
              } ]
            }
          },
          "constant-role-mapper" : {
            "super-user-mapper" : {
              "_address" : "/subsystem=elytron/constant-role-mapper=*",
              "attributes" : [ {
                "name" : "roles",
                "value" : "[SuperUser]",
                "_address" : "/subsystem=elytron/constant-role-mapper=*@@@roles"
              } ]
            }
          },
          "file-audit-log" : {
            "local-audit" : {
              "_address" : "/subsystem=elytron/file-audit-log=*",
              "attributes" : [ {
                "name" : "format",
                "value" : "JSON",
                "_address" : "/subsystem=elytron/file-audit-log=*@@@format"
              }, {
                "name" : "path",
                "value" : "audit.log",
                "_address" : "/subsystem=elytron/file-audit-log=*@@@path"
              }, {
                "name" : "relative-to",
                "value" : "jboss.server.log.dir",
                "_address" : "/subsystem=elytron/file-audit-log=*@@@relative-to"
              } ]
            }
          },
          "http-authentication-factory" : {
            "management-http-authentication" : {
              "_address" : "/subsystem=elytron/http-authentication-factory=*",
              "attributes" : [ {
                "name" : "http-server-mechanism-factory",
                "value" : "global",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@http-server-mechanism-factory"
              }, {
                "name" : "mechanism-configurations",
                "value" : "[{mechanism-name=DIGEST,mechanism-realm-configurations=[{realm-name=ManagementRealm}]}]",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@mechanism-configurations"
              }, {
                "name" : "security-domain",
                "value" : "ManagementDomain",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@security-domain"
              } ]
            }
          },
          "identity-realm" : {
            "local" : {
              "_address" : "/subsystem=elytron/identity-realm=*",
              "attributes" : [ {
                "name" : "identity",
                "value" : "$local",
                "_address" : "/subsystem=elytron/identity-realm=*@@@identity"
              } ]
            }
          },
          "key-manager" : {
            "applicationKM" : {
              "_address" : "/subsystem=elytron/key-manager=*",
              "attributes" : [ {
                "name" : "credential-reference",
                "value" : "{clear-text=password}",
                "_address" : "/subsystem=elytron/key-manager=*@@@credential-reference"
              }, {
                "name" : "generate-self-signed-certificate-host",
                "value" : "localhost",
                "_address" : "/subsystem=elytron/key-manager=*@@@generate-self-signed-certificate-host"
              }, {
                "name" : "key-store",
                "value" : "applicationKS",
                "_address" : "/subsystem=elytron/key-manager=*@@@key-store"
              } ]
            }
          },
          "key-store" : {
            "applicationKS" : {
              "_address" : "/subsystem=elytron/key-store=*",
              "attributes" : [ {
                "name" : "credential-reference",
                "value" : "{clear-text=password}",
                "_address" : "/subsystem=elytron/key-store=*@@@credential-reference"
              }, {
                "name" : "path",
                "value" : "application.keystore",
                "_address" : "/subsystem=elytron/key-store=*@@@path"
              }, {
                "name" : "relative-to",
                "value" : "jboss.server.config.dir",
                "_address" : "/subsystem=elytron/key-store=*@@@relative-to"
              }, {
                "name" : "type",
                "value" : "JKS",
                "_address" : "/subsystem=elytron/key-store=*@@@type"
              } ]
            }
          },
          "mechanism-provider-filtering-sasl-server-factory" : {
            "elytron" : {
              "_address" : "/subsystem=elytron/mechanism-provider-filtering-sasl-server-factory=*",
              "attributes" : [ {
                "name" : "filters",
                "value" : "[{provider-name=WildFlyElytron}]",
                "_address" : "/subsystem=elytron/mechanism-provider-filtering-sasl-server-factory=*@@@filters"
              }, {
                "name" : "sasl-server-factory",
                "value" : "global",
                "_address" : "/subsystem=elytron/mechanism-provider-filtering-sasl-server-factory=*@@@sasl-server-factory"
              } ]
            }
          },
          "permission-set" : {
            "default-permissions" : {
              "_address" : "/subsystem=elytron/permission-set=*",
              "attributes" : [ {
                "name" : "permissions",
                "value" : "[]",
                "_address" : "/subsystem=elytron/permission-set=*@@@permissions"
              } ]
            },
            "login-permission" : {
              "_address" : "/subsystem=elytron/permission-set=*",
              "attributes" : [ {
                "name" : "permissions",
                "value" : "[class-name=org.wildfly.security.auth.permission.LoginPermission]",
                "_address" : "/subsystem=elytron/permission-set=*@@@permissions"
              } ]
            }
          },
          "properties-realm" : {
            "ApplicationRealm" : {
              "_address" : "/subsystem=elytron/properties-realm=*",
              "attributes" : [ {
                "name" : "groups-properties",
                "value" : "{ path=application-roles.properties, relative-to=jboss.server.config.dir }",
                "_address" : "/subsystem=elytron/properties-realm=*@@@groups-properties"
              }, {
                "name" : "users-properties",
                "value" : "{path=application-users.properties,relative-to=jboss.server.config.dir,digest-realm-name=ApplicationRealm}",
                "_address" : "/subsystem=elytron/properties-realm=*@@@users-properties"
              } ]
            },
            "ManagementRealm" : {
              "_address" : "/subsystem=elytron/properties-realm=*",
              "attributes" : [ {
                "name" : "groups-properties",
                "value" : "{ path=mgmt-groups.properties, relative-to=jboss.server.config.dir }",
                "_address" : "/subsystem=elytron/properties-realm=*@@@groups-properties"
              }, {
                "name" : "users-properties",
                "value" : "{path=mgmt-users.properties,relative-to=jboss.server.config.dir,digest-realm-name=ManagementRealm}",
                "_address" : "/subsystem=elytron/properties-realm=*@@@users-properties"
              } ]
            }
          },
          "provider-http-server-mechanism-factory" : {
            "global" : {
              "_address" : "/subsystem=elytron/provider-http-server-mechanism-factory=*"
            }
          },
          "provider-loader" : {
            "elytron" : {
              "_address" : "/subsystem=elytron/provider-loader=*",
              "attributes" : [ {
                "name" : "module",
                "value" : "org.wildfly.security.elytron",
                "_address" : "/subsystem=elytron/provider-loader=*@@@module"
              } ]
            },
            "openssl" : {
              "_address" : "/subsystem=elytron/provider-loader=*",
              "attributes" : [ {
                "name" : "module",
                "value" : "org.wildfly.openssl",
                "_address" : "/subsystem=elytron/provider-loader=*@@@module"
              } ]
            }
          },
          "provider-sasl-server-factory" : {
            "global" : {
              "_address" : "/subsystem=elytron/provider-sasl-server-factory=*"
            }
          },
          "sasl-authentication-factory" : {
            "application-sasl-authentication" : {
              "_address" : "/subsystem=elytron/sasl-authentication-factory=*",
              "attributes" : [ {
                "name" : "mechanism-configurations",
                "value" : "[{mechanism-name=JBOSS-LOCAL-USER,realm-mapper=local},{mechanism-name=DIGEST-MD5,mechanism-realm-configurations=[{realm-name=ApplicationRealm}]}]",
                "_address" : "/subsystem=elytron/sasl-authentication-factory=*@@@mechanism-configurations"
              }, {
                "name" : "sasl-server-factory",
                "value" : "configured",
                "_address" : "/subsystem=elytron/sasl-authentication-factory=*@@@sasl-server-factory"
              }, {
                "name" : "security-domain",
                "value" : "ApplicationDomain",
                "_address" : "/subsystem=elytron/sasl-authentication-factory=*@@@security-domain"
              } ]
            },
            "management-sasl-authentication" : {
              "_address" : "/subsystem=elytron/sasl-authentication-factory=*",
              "attributes" : [ {
                "name" : "mechanism-configurations",
                "value" : "[{mechanism-name=JBOSS-LOCAL-USER,realm-mapper=local},{mechanism-name=DIGEST-MD5,mechanism-realm-configurations=[{realm-name=ManagementRealm}]}]",
                "_address" : "/subsystem=elytron/sasl-authentication-factory=*@@@mechanism-configurations"
              }, {
                "name" : "sasl-server-factory",
                "value" : "configured",
                "_address" : "/subsystem=elytron/sasl-authentication-factory=*@@@sasl-server-factory"
              }, {
                "name" : "security-domain",
                "value" : "ManagementDomain",
                "_address" : "/subsystem=elytron/sasl-authentication-factory=*@@@security-domain"
              } ]
            }
          },
          "security-domain" : {
            "ApplicationDomain" : {
              "_address" : "/subsystem=elytron/security-domain=*",
              "attributes" : [ {
                "name" : "default-realm",
                "value" : "ApplicationRealm",
                "_address" : "/subsystem=elytron/security-domain=*@@@default-realm"
              }, {
                "name" : "permission-mapper",
                "value" : "default-permission-mapper",
                "_address" : "/subsystem=elytron/security-domain=*@@@permission-mapper"
              }, {
                "name" : "realms",
                "value" : "[{realm=ApplicationRealm,role-decoder=groups-to-roles}]",
                "_address" : "/subsystem=elytron/security-domain=*@@@realms"
              } ]
            },
            "ManagementDomain" : {
              "_address" : "/subsystem=elytron/security-domain=*",
              "attributes" : [ {
                "name" : "default-realm",
                "value" : "ManagementRealm",
                "_address" : "/subsystem=elytron/security-domain=*@@@default-realm"
              }, {
                "name" : "permission-mapper",
                "value" : "default-permission-mapper",
                "_address" : "/subsystem=elytron/security-domain=*@@@permission-mapper"
              }, {
                "name" : "realms",
                "value" : "[{realm=ManagementRealm,role-decoder=groups-to-roles},{realm=local,role-mapper=super-user-mapper}]",
                "_address" : "/subsystem=elytron/security-domain=*@@@realms"
              } ]
            }
          },
          "server-ssl-context" : {
            "applicationSSC" : {
              "_address" : "/subsystem=elytron/server-ssl-context=*",
              "attributes" : [ {
                "name" : "key-manager",
                "value" : "applicationKM",
                "_address" : "/subsystem=elytron/server-ssl-context=*@@@key-manager"
              } ]
            }
          },
          "simple-permission-mapper" : {
            "default-permission-mapper" : {
              "_address" : "/subsystem=elytron/simple-permission-mapper=*",
              "attributes" : [ {
                "name" : "mapping-mode",
                "value" : "first",
                "_address" : "/subsystem=elytron/simple-permission-mapper=*@@@mapping-mode"
              }, {
                "name" : "permission-mappings",
                "value" : "[{principals=[anonymous],permission-sets=[permission-set=default-permissions]},{match-all=true,permission-sets=[permission-set=login-permission,permission-set=default-permissions]}]",
                "_address" : "/subsystem=elytron/simple-permission-mapper=*@@@permission-mappings"
              } ]
            }
          },
          "simple-role-decoder" : {
            "groups-to-roles" : {
              "_address" : "/subsystem=elytron/simple-role-decoder=*",
              "attributes" : [ {
                "name" : "attribute",
                "value" : "groups",
                "_address" : "/subsystem=elytron/simple-role-decoder=*@@@attribute"
              } ]
            }
          }
        }
      }
    }

#### Dependencies

- base-server - required

#### Packages

- org.wildfly.extension.elytron
- org.wildfly.extension.elytron.jaas-realm
- org.wildfly.openssl
- org.wildfly.security.elytron
- org.wildfly.security.elytron-dynamic-ssl

### elytron-oidc-client §

Support for securing deployments with OIDC.

#### Management Model

    {
      "subsystem" : {
        "elytron-oidc-client" : {
          "_address" : "/subsystem=elytron-oidc-client"
        }
      }
    }

#### Dependencies

- elytron - required

#### Layer Properties

- org.wildfly.category = Security
- org.wildfly.description = Support for securing deployments with OIDC.
- org.wildfly.rule.xml-path = /WEB-INF/web.xml,/web-app/login-config/auth-method,OIDC

#### Packages

- org.wildfly.extension.elytron-oidc-client

### embedded-activemq §

Support for an embedded Apache Activemq Artemis Jakarta Messaging broker.

#### Management Model

    {
      "subsystem" : {
        "ee" : {
          "_address" : "/subsystem=ee",
          "service" : {
            "default-bindings" : {
              "_address" : "/subsystem=ee/service=default-bindings",
              "attributes" : [ {
                "name" : "jms-connection-factory",
                "value" : "java:jboss/DefaultJMSConnectionFactory",
                "_address" : "/subsystem=ee/service=default-bindings@@@jms-connection-factory"
              } ]
            }
          }
        },
        "elytron" : {
          "_address" : "/subsystem=elytron",
          "http-authentication-factory" : {
            "application-http-authentication" : {
              "_address" : "/subsystem=elytron/http-authentication-factory=*",
              "attributes" : [ {
                "name" : "http-server-mechanism-factory",
                "value" : "global",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@http-server-mechanism-factory"
              }, {
                "name" : "mechanism-configurations",
                "value" : "[{mechanism-name=BASIC,mechanism-realm-configurations=[{realm-name=ApplicationRealm}]}]",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@mechanism-configurations"
              }, {
                "name" : "security-domain",
                "value" : "ApplicationDomain",
                "_address" : "/subsystem=elytron/http-authentication-factory=*@@@security-domain"
              } ]
            }
          }
        },
        "messaging-activemq" : {
          "_address" : "/subsystem=messaging-activemq",
          "server" : {
            "default" : {
              "_address" : "/subsystem=messaging-activemq/server=*",
              "attributes" : [ {
                "name" : "elytron-domain",
                "value" : "ApplicationDomain",
                "_address" : "/subsystem=messaging-activemq/server=*@@@elytron-domain"
              }, {
                "name" : "statistics-enabled",
                "value" : "${wildfly.messaging-activemq.statistics-enabled:${wildfly.statistics-enabled:false}}",
                "_address" : "/subsystem=messaging-activemq/server=*@@@statistics-enabled"
              } ],
              "address-setting" : {
                "#" : {
                  "_address" : "/subsystem=messaging-activemq/server=*/address-setting=*",
                  "attributes" : [ {
                    "name" : "dead-letter-address",
                    "value" : "jms.queue.DLQ",
                    "_address" : "/subsystem=messaging-activemq/server=*/address-setting=*@@@dead-letter-address"
                  }, {
                    "name" : "expiry-address",
                    "value" : "jms.queue.ExpiryQueue",
                    "_address" : "/subsystem=messaging-activemq/server=*/address-setting=*@@@expiry-address"
                  }, {
                    "name" : "max-size-bytes",
                    "value" : "10485760",
                    "_address" : "/subsystem=messaging-activemq/server=*/address-setting=*@@@max-size-bytes"
                  }, {
                    "name" : "message-counter-history-day-limit",
                    "value" : "10",
                    "_address" : "/subsystem=messaging-activemq/server=*/address-setting=*@@@message-counter-history-day-limit"
                  }, {
                    "name" : "page-size-bytes",
                    "value" : "2097152",
                    "_address" : "/subsystem=messaging-activemq/server=*/address-setting=*@@@page-size-bytes"
                  } ]
                }
              },
              "connection-factory" : {
                "InVmConnectionFactory" : {
                  "_address" : "/subsystem=messaging-activemq/server=*/connection-factory=*",
                  "attributes" : [ {
                    "name" : "connectors",
                    "value" : "[in-vm]",
                    "_address" : "/subsystem=messaging-activemq/server=*/connection-factory=*@@@connectors"
                  }, {
                    "name" : "entries",
                    "value" : "[java:/ConnectionFactory]",
                    "_address" : "/subsystem=messaging-activemq/server=*/connection-factory=*@@@entries"
                  } ]
                },
                "RemoteConnectionFactory" : {
                  "_address" : "/subsystem=messaging-activemq/server=*/connection-factory=*",
                  "attributes" : [ {
                    "name" : "connectors",
                    "value" : "[http-connector]",
                    "_address" : "/subsystem=messaging-activemq/server=*/connection-factory=*@@@connectors"
                  }, {
                    "name" : "entries",
                    "value" : "[java:jboss/exported/jms/RemoteConnectionFactory]",
                    "_address" : "/subsystem=messaging-activemq/server=*/connection-factory=*@@@entries"
                  } ]
                }
              },
              "http-acceptor" : {
                "http-acceptor" : {
                  "_address" : "/subsystem=messaging-activemq/server=*/http-acceptor=*",
                  "attributes" : [ {
                    "name" : "http-listener",
                    "value" : "default",
                    "_address" : "/subsystem=messaging-activemq/server=*/http-acceptor=*@@@http-listener"
                  } ]
                },
                "http-acceptor-throughput" : {
                  "_address" : "/subsystem=messaging-activemq/server=*/http-acceptor=*",
                  "attributes" : [ {
                    "name" : "http-listener",
                    "value" : "default",
                    "_address" : "/subsystem=messaging-activemq/server=*/http-acceptor=*@@@http-listener"
                  }, {
                    "name" : "params",
                    "value" : "{batch-delay=50,direct-deliver=false}",
                    "_address" : "/subsystem=messaging-activemq/server=*/http-acceptor=*@@@params"
                  } ]
                }
              },
              "http-connector" : {
                "http-connector" : {
                  "_address" : "/subsystem=messaging-activemq/server=*/http-connector=*",
                  "attributes" : [ {
                    "name" : "endpoint",
                    "value" : "http-acceptor",
                    "_address" : "/subsystem=messaging-activemq/server=*/http-connector=*@@@endpoint"
                  }, {
                    "name" : "socket-binding",
                    "value" : "http",
                    "_address" : "/subsystem=messaging-activemq/server=*/http-connector=*@@@socket-binding"
                  } ]
                },
                "http-connector-throughput" : {
                  "_address" : "/subsystem=messaging-activemq/server=*/http-connector=*",
                  "attributes" : [ {
                    "name" : "endpoint",
                    "value" : "http-acceptor-throughput",
                    "_address" : "/subsystem=messaging-activemq/server=*/http-connector=*@@@endpoint"
                  }, {
                    "name" : "params",
                    "value" : "{batch-delay=50}",
                    "_address" : "/subsystem=messaging-activemq/server=*/http-connector=*@@@params"
                  }, {
                    "name" : "socket-binding",
                    "value" : "http",
                    "_address" : "/subsystem=messaging-activemq/server=*/http-connector=*@@@socket-binding"
                  } ]
                }
              },
              "in-vm-acceptor" : {
                "in-vm" : {
                  "_address" : "/subsystem=messaging-activemq/server=*/in-vm-acceptor=*",
                  "attributes" : [ {
                    "name" : "params",
                    "value" : "{buffer-pooling=false}",
                    "_address" : "/subsystem=messaging-activemq/server=*/in-vm-acceptor=*@@@params"
                  }, {
                    "name" : "server-id",
                    "value" : "0",
                    "_address" : "/subsystem=messaging-activemq/server=*/in-vm-acceptor=*@@@server-id"
                  } ]
                }
              },
              "in-vm-connector" : {
                "in-vm" : {
                  "_address" : "/subsystem=messaging-activemq/server=*/in-vm-connector=*",
                  "attributes" : [ {
                    "name" : "params",
                    "value" : "{buffer-pooling=false}",
                    "_address" : "/subsystem=messaging-activemq/server=*/in-vm-connector=*@@@params"
                  }, {
                    "name" : "server-id",
                    "value" : "0",
                    "_address" : "/subsystem=messaging-activemq/server=*/in-vm-connector=*@@@server-id"
                  } ]
                }
              },
              "jms-queue" : {
                "DLQ" : {
                  "_address" : "/subsystem=messaging-activemq/server=*/jms-queue=*",
                  "attributes" : [ {
                    "name" : "entries",
                    "value" : "[java:/jms/queue/DLQ]",
                    "_address" : "/subsystem=messaging-activemq/server=*/jms-queue=*@@@entries"
                  } ]
                },
                "ExpiryQueue" : {
                  "_address" : "/subsystem=messaging-activemq/server=*/jms-queue=*",
                  "attributes" : [ {
                    "name" : "entries",
                    "value" : "[java:/jms/queue/ExpiryQueue]",
                    "_address" : "/subsystem=messaging-activemq/server=*/jms-queue=*@@@entries"
                  } ]
                }
              },
              "pooled-connection-factory" : {
                "activemq-ra" : {
                  "_address" : "/subsystem=messaging-activemq/server=*/pooled-connection-factory=*",
                  "attributes" : [ {
                    "name" : "connectors",
                    "value" : "[in-vm]",
                    "_address" : "/subsystem=messaging-activemq/server=*/pooled-connection-factory=*@@@connectors"
                  }, {
                    "name" : "entries",
                    "value" : "[java:/JmsXA,java:jboss/DefaultJMSConnectionFactory]",
                    "_address" : "/subsystem=messaging-activemq/server=*/pooled-connection-factory=*@@@entries"
                  }, {
                    "name" : "transaction",
                    "value" : "xa",
                    "_address" : "/subsystem=messaging-activemq/server=*/pooled-connection-factory=*@@@transaction"
                  } ]
                }
              },
              "security-setting" : {
                "#" : {
                  "_address" : "/subsystem=messaging-activemq/server=*/security-setting=*",
                  "role" : {
                    "guest" : {
                      "_address" : "/subsystem=messaging-activemq/server=*/security-setting=*/role=*",
                      "attributes" : [ {
                        "name" : "consume",
                        "value" : "true",
                        "_address" : "/subsystem=messaging-activemq/server=*/security-setting=*/role=*@@@consume"
                      }, {
                        "name" : "create-non-durable-queue",
                        "value" : "true",
                        "_address" : "/subsystem=messaging-activemq/server=*/security-setting=*/role=*@@@create-non-durable-queue"
                      }, {
                        "name" : "delete-non-durable-queue",
                        "value" : "true",
                        "_address" : "/subsystem=messaging-activemq/server=*/security-setting=*/role=*@@@delete-non-durable-queue"
                      }, {
                        "name" : "send",
                        "value" : "true",
                        "_address" : "/subsystem=messaging-activemq/server=*/security-setting=*/role=*@@@send"
                      } ]
                    }
                  }
                }
              }
            }
          }
        },
        "naming" : {
          "_address" : "/subsystem=naming",
          "service" : {
            "remote-naming" : {
              "_address" : "/subsystem=naming/service=remote-naming"
            }
          }
        },
        "undertow" : {
          "_address" : "/subsystem=undertow",
          "server" : {
            "default-server" : {
              "_address" : "/subsystem=undertow/server=*",
              "host" : {
                "default-host" : {
                  "_address" : "/subsystem=undertow/server=*/host=*",
                  "setting" : {
                    "http-invoker" : {
                      "_address" : "/subsystem=undertow/server=*/host=*/setting=http-invoker",
                      "attributes" : [ {
                        "name" : "http-authentication-factory",
                        "value" : "application-http-authentication",
                        "_address" : "/subsystem=undertow/server=*/host=*/setting=http-invoker@@@http-authentication-factory"
                      } ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- cdi - required
- ee - required
- elytron - required
- messaging-activemq - required
- naming - required
- remoting - required
- undertow - required

#### Layer Properties

- org.wildfly.category = Jakarta Messaging
- org.wildfly.description = Support for an embedded Apache Activemq Artemis Jakarta Messaging broker.
- org.wildfly.rule.add-on = messaging,embedded-activemq
- org.wildfly.rule.add-on-cardinality = 1
- org.wildfly.rule.add-on-depends-on = only:messaging-activemq
- org.wildfly.rule.add-on-description = Support for an embedded Apache Activemq Artemis Jakarta Messaging broker.
- org.wildfly.rule.xml-path = [/WEB-INF/*-jms.xml,/META-INF/*-jms.xml],/messaging-deployment/server/jms-destinations

#### Packages

- io.undertow.core
- jakarta.json.api
- org.apache.activemq.artemis
- org.apache.activemq.artemis.journal
- org.glassfish.javax.el
- org.jboss.as.ee
- org.jboss.as.naming
- org.jboss.invocation
- org.jboss.remoting
- org.jboss.xnio
- org.jboss.xnio.netty.netty-xnio-transport
- org.wildfly.extension.messaging-activemq
- org.wildfly.naming

### git-history §

#### Management Model

    { }

#### Packages

- org.eclipse.jgit

### h2-datasource §

Support for an H2 datasource.

#### Management Model

    {
      "subsystem" : {
        "datasources" : {
          "_address" : "/subsystem=datasources",
          "data-source" : {
            "ExampleDS" : {
              "_address" : "/subsystem=datasources/data-source=*",
              "attributes" : [ {
                "name" : "connection-url",
                "value" : "\"jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;MODE=${wildfly.h2.compatibility.mode:REGULAR}\"",
                "_address" : "/subsystem=datasources/data-source=*@@@connection-url"
              }, {
                "name" : "driver-name",
                "value" : "h2",
                "_address" : "/subsystem=datasources/data-source=*@@@driver-name"
              }, {
                "name" : "enabled",
                "value" : "true",
                "_address" : "/subsystem=datasources/data-source=*@@@enabled"
              }, {
                "name" : "jndi-name",
                "value" : "java:jboss/datasources/ExampleDS",
                "_address" : "/subsystem=datasources/data-source=*@@@jndi-name"
              }, {
                "name" : "password",
                "value" : "sa",
                "_address" : "/subsystem=datasources/data-source=*@@@password"
              }, {
                "name" : "statistics-enabled",
                "value" : "${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}",
                "_address" : "/subsystem=datasources/data-source=*@@@statistics-enabled"
              }, {
                "name" : "use-java-context",
                "value" : "true",
                "_address" : "/subsystem=datasources/data-source=*@@@use-java-context"
              }, {
                "name" : "user-name",
                "value" : "sa",
                "_address" : "/subsystem=datasources/data-source=*@@@user-name"
              } ]
            }
          }
        }
      }
    }

#### Dependencies

- datasources - required
- h2-driver - required

#### Layer Properties

- org.wildfly.category = Database
- org.wildfly.description = Support for an H2 datasource.
- org.wildfly.rule.add-on = database,h2-database
- org.wildfly.rule.add-on-depends-on = only:datasources
- org.wildfly.rule.add-on-description = Support for an H2 datasource.
- org.wildfly.rule.bring-datasource = java:jboss/datasources/ExampleDS
- org.wildfly.rule.xml-path = [/WEB-INF/classes/META-INF/persistence.xml,/META-INF/persistence.xml],/persistence/persistence-unit/jta-data-source,java:jboss/datasources/ExampleDS

#### Packages

- org.jboss.as.connector

### h2-default-datasource §

Support for an H2 datasource set as the ee subsystem default datasource.

#### Management Model

    {
      "subsystem" : {
        "ee" : {
          "_address" : "/subsystem=ee",
          "service" : {
            "default-bindings" : {
              "_address" : "/subsystem=ee/service=default-bindings",
              "attributes" : [ {
                "name" : "datasource",
                "value" : "java:jboss/datasources/ExampleDS",
                "_address" : "/subsystem=ee/service=default-bindings@@@datasource"
              } ]
            }
          }
        }
      }
    }

#### Dependencies

- datasources - required
- h2-datasource - required

#### Layer Properties

- org.wildfly.category = Database
- org.wildfly.description = Support for an H2 datasource set as the ee subsystem default datasource.
- org.wildfly.rule.add-on = database,h2-database:default
- org.wildfly.rule.add-on-depends-on = only:datasources
- org.wildfly.rule.add-on-description = Support for an H2 datasource set as the ee subsystem default datasource.
- org.wildfly.rule.add-on-fix-no-default-datasource =

### h2-driver §

Support for the H2 JDBC driver.

#### Management Model

    {
      "subsystem" : {
        "datasources" : {
          "_address" : "/subsystem=datasources",
          "jdbc-driver" : {
            "h2" : {
              "_address" : "/subsystem=datasources/jdbc-driver=*",
              "attributes" : [ {
                "name" : "driver-module-name",
                "value" : "com.h2database.h2",
                "_address" : "/subsystem=datasources/jdbc-driver=*@@@driver-module-name"
              }, {
                "name" : "driver-xa-datasource-class-name",
                "value" : "org.h2.jdbcx.JdbcDataSource",
                "_address" : "/subsystem=datasources/jdbc-driver=*@@@driver-xa-datasource-class-name"
              } ]
            }
          }
        }
      }
    }

#### Dependencies

- base-server - required
- datasources - required

#### Layer Properties

- org.wildfly.category = Database
- org.wildfly.description = Support for the H2 JDBC driver.
- org.wildfly.rule.annotation.field.value-className = jakarta.annotation.sql.DataSourceDefinition,className=org.h2.*
- org.wildfly.rule.annotation.field.value-url = jakarta.annotation.sql.DataSourceDefinition,url=jdbc:h2:*
- org.wildfly.rule.xml-path = [/WEB-INF/*.xml,/META-INF/*.xml],/datasources/datasource/driver,h2
- org.wildfly.rule.xml-path-xa = [/WEB-INF/*.xml,/META-INF/*.xml],/datasources/xa-datasource/driver,h2

#### Packages

- com.h2database.h2
- org.jboss.as.connector

### health §

Support for runtime health checks.

When using the WildFly cloud feature-pack for cloud deployment, this layer will be automatically provisioned. It is required for POD health check.

#### Management Model

    {
      "subsystem" : {
        "health" : {
          "_address" : "/subsystem=health",
          "attributes" : [ {
            "name" : "security-enabled",
            "value" : "false",
            "_address" : "/subsystem=health@@@security-enabled"
          } ]
        }
      }
    }

#### Dependencies

- management - required

#### Layer Properties

- org.wildfly.category = Monitoring
- org.wildfly.description = Support for runtime health checks.
- org.wildfly.note = When using the WildFly cloud feature-pack for cloud deployment, this layer will be automatically provisioned. It is required for POD health check.
- org.wildfly.rule.add-on = observability,health
- org.wildfly.rule.add-on-depends-on = only:management
- org.wildfly.rule.add-on-description = Support for runtime health checks.

#### Packages

- org.wildfly.extension.health

### hibernate-search §

#### Management Model

    { }

#### Dependencies

- jpa - optional

#### Layer Properties

- org.wildfly.rule.annotations = org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed

#### Packages

- org.hibernate.search.backend.elasticsearch
- org.hibernate.search.backend.lucene
- org.hibernate.search.mapper.orm
- org.hibernate.search.mapper.orm.outboxpolling

### iiop-openjdk §

Support for IIOP.

#### Management Model

    {
      "interface" : {
        "unsecure" : {
          "_address" : "/interface=*",
          "attributes" : [ {
            "name" : "inet-address",
            "value" : "${jboss.bind.address.unsecure:127.0.0.1}",
            "_address" : "/interface=*@@@inet-address"
          } ]
        }
      },
      "socket-binding-group" : {
        "standard-sockets" : {
          "_address" : "/socket-binding-group=*",
          "attributes" : [ {
            "name" : "default-interface",
            "value" : "public",
            "_address" : "/socket-binding-group=*@@@default-interface"
          }, {
            "name" : "port-offset",
            "value" : "${jboss.socket.binding.port-offset:0}",
            "_address" : "/socket-binding-group=*@@@port-offset"
          } ],
          "socket-binding" : {
            "iiop" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "unsecure",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "port",
                "value" : "3528",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "iiop-ssl" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "unsecure",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "port",
                "value" : "3529",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            }
          }
        }
      },
      "subsystem" : {
        "iiop-openjdk" : {
          "_address" : "/subsystem=iiop-openjdk",
          "attributes" : [ {
            "name" : "client-requires-ssl",
            "value" : "false",
            "_address" : "/subsystem=iiop-openjdk@@@client-requires-ssl"
          }, {
            "name" : "security",
            "value" : "elytron",
            "_address" : "/subsystem=iiop-openjdk@@@security"
          }, {
            "name" : "server-requires-ssl",
            "value" : "false",
            "_address" : "/subsystem=iiop-openjdk@@@server-requires-ssl"
          }, {
            "name" : "socket-binding",
            "value" : "iiop",
            "_address" : "/subsystem=iiop-openjdk@@@socket-binding"
          }, {
            "name" : "transactions",
            "value" : "spec",
            "_address" : "/subsystem=iiop-openjdk@@@transactions"
          } ]
        }
      }
    }

#### Dependencies

- base-server - required
- naming - required

#### Layer Properties

- org.wildfly.category = RPC (Remote Procedure Call)
- org.wildfly.description = Support for IIOP.
- org.wildfly.rule.add-on = rpc,iiop
- org.wildfly.rule.add-on-depends-on = none
- org.wildfly.rule.add-on-description = Support for IIOP.

#### Packages

- org.wildfly.iiop-openjdk

### infinispan §

#### Management Model

    {
      "subsystem" : {
        "infinispan" : {
          "_address" : "/subsystem=infinispan"
        }
      }
    }

#### Dependencies

- cdi - optional

#### Layer Properties

- org.wildfly.rule.add-on = clustering,infinispan
- org.wildfly.rule.add-on-depends-on = all-dependencies
- org.wildfly.rule.add-on-description = Brings in infinispan caches.

#### Packages

- org.jboss.as.clustering.infinispan
- org.wildfly.extension.clustering.server

### internal-standalone-full-profile §

#### Management Model

    { }

#### Dependencies

- iiop-openjdk - optional
- internal-standalone-profile - required
- remote-activemq - optional

### internal-standalone-profile §

#### Management Model

    { }

#### Dependencies

- batch-jberet - optional
- ee-security - optional
- ejb - optional
- ejb-http-invoker - optional
- elytron-oidc-client - optional
- h2-default-datasource - optional
- health - optional
- hibernate-search - optional
- jakarta-data - optional
- jaxrs-server - required
- jdr - optional
- jsf - optional
- mail - optional
- micrometer - optional
- microprofile-config - optional
- microprofile-jwt - optional
- pojo - optional
- remoting - optional
- resource-adapters - optional
- sar - optional
- undertow-https - optional
- web-console - optional
- web-passivation - optional
- webservices - optional

### io §

#### Management Model

    {
      "subsystem" : {
        "io" : {
          "_address" : "/subsystem=io",
          "attributes" : [ {
            "name" : "default-worker",
            "value" : "default",
            "_address" : "/subsystem=io@@@default-worker"
          }, {
            "name" : "extension",
            "value" : "org.wildfly.extension.io",
            "_address" : "/subsystem=io@@@extension"
          } ],
          "worker" : {
            "default" : {
              "_address" : "/subsystem=io/worker=*"
            }
          }
        }
      }
    }

#### Dependencies

- base-server - required

#### Packages

- org.wildfly.extension.io

### jakarta-data §

Support for Jakarta Data.

#### Management Model

    {
      "subsystem" : {
        "jakarta-data" : {
          "_address" : "/subsystem=jakarta-data"
        }
      }
    }

#### Dependencies

- jpa - optional

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for Jakarta Data.
- org.wildfly.rule.annotations = jakarta.data
- org.wildfly.rule.class = jakarta.data

#### Packages

- jakarta.data.api
- org.wildfly.extension.jakarta.data

### jaxrs §

Support for Jakarta RESTful Web Services with optional ee-concurrency and deployment scanner layers.

#### Management Model

    { }

#### Dependencies

- deployment-scanner - optional
- ee-concurrency - optional
- jaxrs-core - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for Jakarta RESTful Web Services with optional ee-concurrency and deployment scanner layers.
- org.wildfly.rule.annotations = jakarta.ws.rs,jakarta.ws.rs.core
- org.wildfly.rule.class = jakarta.ws.rs,jakarta.ws.rs.core
- org.wildfly.rule.xml-path = /WEB-INF/web.xml,/web-app/servlet/servlet-class,jakarta.ws.rs.core.Application

### jaxrs-core §

Support for Jakarta RESTful Web Services.

#### Management Model

    {
      "subsystem" : {
        "jaxrs" : {
          "_address" : "/subsystem=jaxrs"
        }
      }
    }

#### Dependencies

- ee-integration - required
- servlet - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for Jakarta RESTful Web Services.

#### Packages

- com.fasterxml.jackson.datatype.jackson-datatype-jdk8
- com.fasterxml.jackson.datatype.jackson-datatype-jsr310
- jakarta.json.api
- jakarta.ws.rs.api
- jakarta.xml.bind.api
- org.jboss.as.jaxrs
- org.jboss.resteasy.resteasy-atom-provider
- org.jboss.resteasy.resteasy-cdi
- org.jboss.resteasy.resteasy-core
- org.jboss.resteasy.resteasy-core-spi
- org.jboss.resteasy.resteasy-crypto
- org.jboss.resteasy.resteasy-jackson2-provider
- org.jboss.resteasy.resteasy-jaxb-provider
- org.jboss.resteasy.resteasy-jaxrs
- org.jboss.resteasy.resteasy-jsapi
- org.jboss.resteasy.resteasy-json-binding-provider
- org.jboss.resteasy.resteasy-json-p-provider
- org.jboss.resteasy.resteasy-multipart-provider
- org.jboss.resteasy.resteasy-spring
- org.jboss.resteasy.resteasy-tracing-api
- org.jboss.resteasy.resteasy-validator-provider

### jaxrs-server §

#### Management Model

    { }

#### Dependencies

- bean-validation - optional
- cdi - optional
- datasources-web-server - required
- jaxrs - optional
- jpa - optional
- microprofile-rest-client - optional

#### Layer Properties

- org.wildfly.rule.kind = base-layer

### jdr §

Support for the JBoss Diagnostic Reporting (JDR) subsystem.

#### Management Model

    {
      "subsystem" : {
        "jdr" : {
          "_address" : "/subsystem=jdr"
        }
      }
    }

#### Dependencies

- base-server - required
- management - optional

#### Layer Properties

- org.wildfly.category = Monitoring
- org.wildfly.description = Support for the JBoss Diagnostic Reporting (JDR) subsystem.
- org.wildfly.rule.add-on = management,jdr
- org.wildfly.rule.add-on-depends-on = all-dependencies
- org.wildfly.rule.add-on-description = Support for the JBoss Diagnostic Reporting (JDR).

#### Packages

- bin.jdrtools
- org.jboss.as.jdr

### jgroups-aws §

#### Management Model

    { }

#### Layer Properties

- org.wildfly.rule.add-on = clustering,jgroups-aws
- org.wildfly.rule.add-on-depends-on = only:jgroups
- org.wildfly.rule.add-on-description = Brings in JBoss Modules modules required to configure the 'aws.S3_PING' discovery protocol.

#### Packages

- org.jgroups.aws

### jms-activemq §

#### Management Model

    { }

#### Dependencies

- messaging-activemq - required

### jmx §

#### Management Model

    {
      "subsystem" : {
        "jmx" : {
          "_address" : "/subsystem=jmx",
          "expose-model" : {
            "expression" : {
              "_address" : "/subsystem=jmx/expose-model=expression"
            },
            "resolved" : {
              "_address" : "/subsystem=jmx/expose-model=resolved"
            }
          }
        }
      }
    }

#### Dependencies

- base-server - required

#### Packages

- org.jboss.as.jmx

### jmx-remoting §

#### Management Model

    {
      "subsystem" : {
        "jmx" : {
          "_address" : "/subsystem=jmx",
          "remoting-connector" : {
            "jmx" : {
              "_address" : "/subsystem=jmx/remoting-connector=jmx"
            }
          }
        }
      }
    }

#### Dependencies

- jmx - required
- management - required
- remoting - required

#### Packages

- org.jboss.as.jmx
- org.jboss.remoting-jmx

### jpa §

Support for JPA (using the latest WildFly supported Hibernate release).

This layer must be explicitly excluded if jpa-distributed is in use.

#### Management Model

    {
      "subsystem" : {
        "infinispan" : {
          "_address" : "/subsystem=infinispan",
          "cache-container" : {
            "hibernate" : {
              "_address" : "/subsystem=infinispan/cache-container=*",
              "attributes" : [ {
                "name" : "marshaller",
                "value" : "JBOSS",
                "_address" : "/subsystem=infinispan/cache-container=*@@@marshaller"
              }, {
                "name" : "modules",
                "value" : "[org.infinispan.hibernate-cache]",
                "_address" : "/subsystem=infinispan/cache-container=*@@@modules"
              } ],
              "local-cache" : {
                "entity" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "max-idle",
                        "value" : "100000",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration@@@max-idle"
                      } ]
                    }
                  },
                  "memory" : {
                    "heap" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/memory=heap",
                      "attributes" : [ {
                        "name" : "size",
                        "value" : "10000",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/memory=heap@@@size"
                      } ]
                    }
                  }
                },
                "local-query" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "max-idle",
                        "value" : "100000",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration@@@max-idle"
                      } ]
                    }
                  },
                  "memory" : {
                    "heap" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/memory=heap",
                      "attributes" : [ {
                        "name" : "size",
                        "value" : "10000",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/memory=heap@@@size"
                      } ]
                    }
                  }
                },
                "pending-puts" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "max-idle",
                        "value" : "60000",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration@@@max-idle"
                      } ]
                    }
                  }
                },
                "timestamps" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration@@@interval"
                      } ]
                    }
                  }
                }
              }
            }
          }
        },
        "jpa" : {
          "_address" : "/subsystem=jpa",
          "attributes" : [ {
            "name" : "default-extended-persistence-inheritance",
            "value" : "DEEP",
            "_address" : "/subsystem=jpa@@@default-extended-persistence-inheritance"
          } ]
        }
      }
    }

#### Dependencies

- bean-validation - optional
- datasources - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for JPA (using the latest WildFly supported Hibernate release).
- org.wildfly.note = This layer must be explicitly excluded if jpa-distributed is in use.
- org.wildfly.rule.annotations = jakarta.persistence
- org.wildfly.rule.class = jakarta.persistence,jakarta.persistence.criteria
- org.wildfly.rule.expected-file = [/META-INF/persistence.xml,/WEB-INF/classes/META-INF/persistence.xml]

#### Packages

- org.hibernate
- org.hibernate.envers
- org.hibernate.search.mapper.orm
- org.jboss.as.clustering.infinispan
- org.jboss.as.jpa
- org.wildfly.extension.clustering.server

### jpa-distributed §

Support for JPA with a distributed second level cache.

jpa layer must be explicitly excluded if jpa-distributed is in use.

#### Management Model

    {
      "interface" : {
        "private" : {
          "_address" : "/interface=*",
          "attributes" : [ {
            "name" : "inet-address",
            "value" : "${jboss.bind.address.private:127.0.0.1}",
            "_address" : "/interface=*@@@inet-address"
          } ]
        }
      },
      "socket-binding-group" : {
        "standard-sockets" : {
          "_address" : "/socket-binding-group=*",
          "socket-binding" : {
            "jgroups-mping" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "multicast-address",
                "value" : "${jboss.default.multicast.address:230.0.0.4}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-address"
              }, {
                "name" : "multicast-port",
                "value" : "45700",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-port"
              } ]
            },
            "jgroups-tcp" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "port",
                "value" : "7600",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "jgroups-udp" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "multicast-address",
                "value" : "${jboss.default.multicast.address:230.0.0.4}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-address"
              }, {
                "name" : "multicast-port",
                "value" : "45688",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-port"
              }, {
                "name" : "port",
                "value" : "55200",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "jgroups-udp-fd" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "port",
                "value" : "54200",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            }
          }
        }
      },
      "subsystem" : {
        "infinispan" : {
          "_address" : "/subsystem=infinispan",
          "cache-container" : {
            "hibernate" : {
              "_address" : "/subsystem=infinispan/cache-container=*",
              "attributes" : [ {
                "name" : "marshaller",
                "value" : "JBOSS",
                "_address" : "/subsystem=infinispan/cache-container=*@@@marshaller"
              }, {
                "name" : "modules",
                "value" : "[org.infinispan.hibernate-cache]",
                "_address" : "/subsystem=infinispan/cache-container=*@@@modules"
              } ],
              "invalidation-cache" : {
                "entity" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/invalidation-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/invalidation-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "max-idle",
                        "value" : "100000",
                        "_address" : "/subsystem=infinispan/cache-container=*/invalidation-cache=*/component=expiration@@@max-idle"
                      } ]
                    }
                  },
                  "memory" : {
                    "heap" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/invalidation-cache=*/memory=heap",
                      "attributes" : [ {
                        "name" : "size",
                        "value" : "10000",
                        "_address" : "/subsystem=infinispan/cache-container=*/invalidation-cache=*/memory=heap@@@size"
                      } ]
                    }
                  }
                }
              },
              "local-cache" : {
                "local-query" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "max-idle",
                        "value" : "100000",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration@@@max-idle"
                      } ]
                    }
                  },
                  "memory" : {
                    "heap" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/memory=heap",
                      "attributes" : [ {
                        "name" : "size",
                        "value" : "10000",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/memory=heap@@@size"
                      } ]
                    }
                  }
                },
                "pending-puts" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "max-idle",
                        "value" : "60000",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration@@@max-idle"
                      } ]
                    }
                  }
                }
              },
              "replicated-cache" : {
                "timestamps" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=expiration@@@interval"
                      } ]
                    }
                  }
                }
              },
              "transport" : {
                "jgroups" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/transport=jgroups",
                  "attributes" : [ {
                    "name" : "lock-timeout",
                    "value" : "60000",
                    "_address" : "/subsystem=infinispan/cache-container=*/transport=jgroups@@@lock-timeout"
                  } ]
                }
              }
            }
          }
        },
        "jgroups" : {
          "_address" : "/subsystem=jgroups",
          "attributes" : [ {
            "name" : "default-channel",
            "value" : "ee",
            "_address" : "/subsystem=jgroups@@@default-channel"
          } ],
          "channel" : {
            "ee" : {
              "_address" : "/subsystem=jgroups/channel=*",
              "attributes" : [ {
                "name" : "cluster",
                "value" : "ejb",
                "_address" : "/subsystem=jgroups/channel=*@@@cluster"
              }, {
                "name" : "stack",
                "value" : "udp",
                "_address" : "/subsystem=jgroups/channel=*@@@stack"
              } ]
            }
          },
          "stack" : {
            "tcp" : {
              "_address" : "/subsystem=jgroups/stack=*",
              "protocol" : {
                "FD_ALL3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "FRAG4" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MERGE3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MPING" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=MPING",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-mping",
                    "_address" : "/subsystem=jgroups/stack=*/protocol=MPING@@@socket-binding"
                  } ]
                },
                "RED" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UNICAST3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "VERIFY_SUSPECT2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.GMS" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.NAKACK2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.STABLE" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                }
              },
              "transport" : {
                "TCP" : {
                  "_address" : "/subsystem=jgroups/stack=*/transport=*",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-tcp",
                    "_address" : "/subsystem=jgroups/stack=*/transport=*@@@socket-binding"
                  } ]
                }
              }
            },
            "udp" : {
              "_address" : "/subsystem=jgroups/stack=*",
              "protocol" : {
                "FD_ALL3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "FD_SOCK2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=FD_SOCK2",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-udp-fd",
                    "_address" : "/subsystem=jgroups/stack=*/protocol=FD_SOCK2@@@socket-binding"
                  } ]
                },
                "FRAG4" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MERGE3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "PING" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "RED" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UNICAST3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "VERIFY_SUSPECT2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.GMS" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.NAKACK2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.STABLE" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                }
              },
              "transport" : {
                "UDP" : {
                  "_address" : "/subsystem=jgroups/stack=*/transport=*",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-udp",
                    "_address" : "/subsystem=jgroups/stack=*/transport=*@@@socket-binding"
                  } ]
                }
              }
            }
          }
        },
        "jpa" : {
          "_address" : "/subsystem=jpa",
          "attributes" : [ {
            "name" : "default-extended-persistence-inheritance",
            "value" : "DEEP",
            "_address" : "/subsystem=jpa@@@default-extended-persistence-inheritance"
          } ]
        }
      }
    }

#### Dependencies

- bean-validation - optional
- datasources - required

#### Layer Properties

- org.wildfly.category = Clustering
- org.wildfly.description = Support for JPA with a distributed second level cache.
- org.wildfly.note = jpa layer must be explicitly excluded if jpa-distributed is in use.
- org.wildfly.rule.profile-ha = jpa

#### Packages

- org.hibernate
- org.hibernate.envers
- org.hibernate.search.mapper.orm
- org.jboss.as.clustering.infinispan
- org.jboss.as.clustering.jgroups
- org.jboss.as.jpa
- org.wildfly.extension.clustering.server

### jsf §

Support for Jakarta Faces.

#### Management Model

    {
      "subsystem" : {
        "jsf" : {
          "_address" : "/subsystem=jsf"
        }
      }
    }

#### Dependencies

- bean-validation - optional
- cdi - required
- web-server - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for Jakarta Faces.
- org.wildfly.rule.annotations = jakarta.faces.annotation
- org.wildfly.rule.class = jakarta.faces.*
- org.wildfly.rule.expected-file = /WEB-INF/faces-config.xml
- org.wildfly.rule.xml-path = /WEB-INF/web.xml,/web-app/servlet/servlet-class,jakarta.faces.webapp.FacesServlet

#### Packages

- org.jboss.as.jsf
- org.jboss.as.jsf-injection

### jsonb §

Support for JSON Binding (Jakarta JSON Binding) provisioning the Jakarta JSON Binding API and Implementation modules.

#### Management Model

    { }

#### Dependencies

- base-server - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for JSON Binding (Jakarta JSON Binding) provisioning the Jakarta JSON Binding API and Implementation modules.
- org.wildfly.rule.annotations = jakarta.json.bind.annotation
- org.wildfly.rule.class = jakarta.json.bind.*

#### Packages

- jakarta.json.bind.api
- org.eclipse.yasson

### jsonp §

Support for JSON Processing (Jakarta JSON Processing) provisioning the Jakarta JSON Processing API and Implementation modules.

#### Management Model

    { }

#### Dependencies

- base-server - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for JSON Processing (Jakarta JSON Processing) provisioning the Jakarta JSON Processing API and Implementation modules.
- org.wildfly.rule.class = jakarta.json,jakarta.json.stream

#### Packages

- jakarta.json.api
- org.eclipse.parsson

### logging §

#### Management Model

    {
      "subsystem" : {
        "logging" : {
          "_address" : "/subsystem=logging",
          "console-handler" : {
            "CONSOLE" : {
              "_address" : "/subsystem=logging/console-handler=*",
              "attributes" : [ {
                "name" : "level",
                "value" : "INFO",
                "_address" : "/subsystem=logging/console-handler=*@@@level"
              }, {
                "name" : "named-formatter",
                "value" : "COLOR-PATTERN",
                "_address" : "/subsystem=logging/console-handler=*@@@named-formatter"
              } ]
            }
          },
          "logger" : {
            "com.arjuna" : {
              "_address" : "/subsystem=logging/logger=*",
              "attributes" : [ {
                "name" : "level",
                "value" : "WARN",
                "_address" : "/subsystem=logging/logger=*@@@level"
              } ]
            },
            "com.networknt.schema" : {
              "_address" : "/subsystem=logging/logger=*",
              "attributes" : [ {
                "name" : "level",
                "value" : "WARN",
                "_address" : "/subsystem=logging/logger=*@@@level"
              } ]
            },
            "io.jaegertracing.Configuration" : {
              "_address" : "/subsystem=logging/logger=*",
              "attributes" : [ {
                "name" : "level",
                "value" : "WARN",
                "_address" : "/subsystem=logging/logger=*@@@level"
              } ]
            },
            "org.jboss.as.config" : {
              "_address" : "/subsystem=logging/logger=*",
              "attributes" : [ {
                "name" : "level",
                "value" : "DEBUG",
                "_address" : "/subsystem=logging/logger=*@@@level"
              } ]
            },
            "sun.rmi" : {
              "_address" : "/subsystem=logging/logger=*",
              "attributes" : [ {
                "name" : "level",
                "value" : "WARN",
                "_address" : "/subsystem=logging/logger=*@@@level"
              } ]
            }
          },
          "pattern-formatter" : {
            "COLOR-PATTERN" : {
              "_address" : "/subsystem=logging/pattern-formatter=*",
              "attributes" : [ {
                "name" : "pattern",
                "value" : "\"%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n\"",
                "_address" : "/subsystem=logging/pattern-formatter=*@@@pattern"
              } ]
            },
            "PATTERN" : {
              "_address" : "/subsystem=logging/pattern-formatter=*",
              "attributes" : [ {
                "name" : "pattern",
                "value" : "\"%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n\"",
                "_address" : "/subsystem=logging/pattern-formatter=*@@@pattern"
              } ]
            }
          },
          "periodic-rotating-file-handler" : {
            "FILE" : {
              "_address" : "/subsystem=logging/periodic-rotating-file-handler=*",
              "attributes" : [ {
                "name" : "append",
                "value" : "true",
                "_address" : "/subsystem=logging/periodic-rotating-file-handler=*@@@append"
              }, {
                "name" : "autoflush",
                "value" : "true",
                "_address" : "/subsystem=logging/periodic-rotating-file-handler=*@@@autoflush"
              }, {
                "name" : "file",
                "value" : "{relative-to=jboss.server.log.dir,path=server.log}",
                "_address" : "/subsystem=logging/periodic-rotating-file-handler=*@@@file"
              }, {
                "name" : "named-formatter",
                "value" : "PATTERN",
                "_address" : "/subsystem=logging/periodic-rotating-file-handler=*@@@named-formatter"
              }, {
                "name" : "suffix",
                "value" : ".yyyy-MM-dd",
                "_address" : "/subsystem=logging/periodic-rotating-file-handler=*@@@suffix"
              } ]
            }
          },
          "root-logger" : {
            "ROOT" : {
              "_address" : "/subsystem=logging/root-logger=ROOT",
              "attributes" : [ {
                "name" : "handlers",
                "value" : "[CONSOLE,FILE]",
                "_address" : "/subsystem=logging/root-logger=ROOT@@@handlers"
              }, {
                "name" : "level",
                "value" : "INFO",
                "_address" : "/subsystem=logging/root-logger=ROOT@@@level"
              } ]
            }
          }
        }
      }
    }

#### Dependencies

- base-server - required

#### Packages

- org.apache.commons.logging
- org.apache.logging.log4j.api
- org.jboss.as.logging
- org.jboss.logging.jul-to-slf4j-stub
- org.slf4j
- org.slf4j.impl

### mail §

Support for Jakarta Mail.

#### Management Model

    {
      "socket-binding-group" : {
        "standard-sockets" : {
          "_address" : "/socket-binding-group=*",
          "remote-destination-outbound-socket-binding" : {
            "mail-smtp" : {
              "_address" : "/socket-binding-group=*/remote-destination-outbound-socket-binding=*",
              "attributes" : [ {
                "name" : "host",
                "value" : "${jboss.mail.server.host:localhost}",
                "_address" : "/socket-binding-group=*/remote-destination-outbound-socket-binding=*@@@host"
              }, {
                "name" : "port",
                "value" : "${jboss.mail.server.port:25}",
                "_address" : "/socket-binding-group=*/remote-destination-outbound-socket-binding=*@@@port"
              } ]
            }
          }
        }
      },
      "subsystem" : {
        "elytron" : {
          "_address" : "/subsystem=elytron",
          "simple-permission-mapper" : {
            "default-permission-mapper" : {
              "_address" : "/subsystem=elytron/simple-permission-mapper=*"
            }
          }
        },
        "mail" : {
          "_address" : "/subsystem=mail",
          "mail-session" : {
            "default" : {
              "_address" : "/subsystem=mail/mail-session=*",
              "attributes" : [ {
                "name" : "jndi-name",
                "value" : "java:jboss/mail/Default",
                "_address" : "/subsystem=mail/mail-session=*@@@jndi-name"
              } ],
              "server" : {
                "smtp" : {
                  "_address" : "/subsystem=mail/mail-session=*/server=smtp",
                  "attributes" : [ {
                    "name" : "outbound-socket-binding-ref",
                    "value" : "mail-smtp",
                    "_address" : "/subsystem=mail/mail-session=*/server=smtp@@@outbound-socket-binding-ref"
                  } ]
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- base-server - required
- naming - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for Jakarta Mail.
- org.wildfly.rule.annotations = jakarta.mail
- org.wildfly.rule.class = jakarta.mail.*

#### Packages

- org.jboss.as.mail
- org.wildfly.extension.elytron
- org.wildfly.security.elytron

### management §

#### Management Model

    {
      "core-service" : {
        "management" : {
          "_address" : "/core-service=management",
          "access" : {
            "audit" : {
              "_address" : "/core-service=management/access=audit",
              "file-handler" : {
                "file" : {
                  "_address" : "/core-service=management/access=audit/file-handler=*",
                  "attributes" : [ {
                    "name" : "formatter",
                    "value" : "json-formatter",
                    "_address" : "/core-service=management/access=audit/file-handler=*@@@formatter"
                  }, {
                    "name" : "path",
                    "value" : "audit-log.log",
                    "_address" : "/core-service=management/access=audit/file-handler=*@@@path"
                  }, {
                    "name" : "relative-to",
                    "value" : "jboss.server.data.dir",
                    "_address" : "/core-service=management/access=audit/file-handler=*@@@relative-to"
                  } ]
                }
              },
              "json-formatter" : {
                "json-formatter" : {
                  "_address" : "/core-service=management/access=audit/json-formatter=*"
                }
              },
              "logger" : {
                "audit-log" : {
                  "_address" : "/core-service=management/access=audit/logger=audit-log",
                  "attributes" : [ {
                    "name" : "enabled",
                    "value" : "false",
                    "_address" : "/core-service=management/access=audit/logger=audit-log@@@enabled"
                  }, {
                    "name" : "log-boot",
                    "value" : "true",
                    "_address" : "/core-service=management/access=audit/logger=audit-log@@@log-boot"
                  }, {
                    "name" : "log-read-only",
                    "value" : "false",
                    "_address" : "/core-service=management/access=audit/logger=audit-log@@@log-read-only"
                  } ],
                  "handler" : {
                    "file" : {
                      "_address" : "/core-service=management/access=audit/logger=audit-log/handler=*"
                    }
                  }
                }
              }
            },
            "authorization" : {
              "_address" : "/core-service=management/access=authorization",
              "attributes" : [ {
                "name" : "provider",
                "value" : "simple",
                "_address" : "/core-service=management/access=authorization@@@provider"
              } ],
              "role-mapping" : {
                "SuperUser" : {
                  "_address" : "/core-service=management/access=authorization/role-mapping=*",
                  "include" : {
                    "user-$local" : {
                      "_address" : "/core-service=management/access=authorization/role-mapping=*/include=*",
                      "attributes" : [ {
                        "name" : "name",
                        "value" : "$local",
                        "_address" : "/core-service=management/access=authorization/role-mapping=*/include=*@@@name"
                      }, {
                        "name" : "type",
                        "value" : "USER",
                        "_address" : "/core-service=management/access=authorization/role-mapping=*/include=*@@@type"
                      } ]
                    }
                  }
                }
              }
            }
          },
          "management-interface" : {
            "http-interface" : {
              "_address" : "/core-service=management/management-interface=http-interface",
              "attributes" : [ {
                "name" : "console-enabled",
                "value" : "false",
                "_address" : "/core-service=management/management-interface=http-interface@@@console-enabled"
              }, {
                "name" : "http-authentication-factory",
                "value" : "management-http-authentication",
                "_address" : "/core-service=management/management-interface=http-interface@@@http-authentication-factory"
              }, {
                "name" : "http-upgrade",
                "value" : "{ sasl-authentication-factory=management-sasl-authentication }",
                "_address" : "/core-service=management/management-interface=http-interface@@@http-upgrade"
              }, {
                "name" : "socket-binding",
                "value" : "management-http",
                "_address" : "/core-service=management/management-interface=http-interface@@@socket-binding"
              } ]
            }
          }
        }
      },
      "interface" : {
        "management" : {
          "_address" : "/interface=*",
          "attributes" : [ {
            "name" : "inet-address",
            "value" : "${jboss.bind.address.management:127.0.0.1}",
            "_address" : "/interface=*@@@inet-address"
          } ]
        }
      },
      "socket-binding-group" : {
        "standard-sockets" : {
          "_address" : "/socket-binding-group=*",
          "socket-binding" : {
            "management-http" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "management",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "port",
                "value" : "${jboss.management.http.port:9990}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "management-https" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "management",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "port",
                "value" : "${jboss.management.https.port:9993}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            }
          }
        }
      }
    }

#### Dependencies

- elytron - required

#### Packages

- org.jboss.as.domain-http-error-context

### messaging-activemq §

Support for connections to a remote Jakarta Messaging broker.

#### Management Model

    {
      "subsystem" : {
        "messaging-activemq" : {
          "_address" : "/subsystem=messaging-activemq"
        }
      }
    }

#### Dependencies

- resource-adapters - required

#### Layer Properties

- org.wildfly.category = Jakarta Messaging
- org.wildfly.description = Support for connections to a remote Jakarta Messaging broker.
- org.wildfly.rule.annotations = jakarta.jms
- org.wildfly.rule.class = jakarta.jms
- org.wildfly.rule.expect-add-on-family = messaging

#### Packages

- org.wildfly.extension.messaging-activemq

### metrics §

Support for base server metrics in Prometheus format.

#### Management Model

    {
      "subsystem" : {
        "metrics" : {
          "_address" : "/subsystem=metrics",
          "attributes" : [ {
            "name" : "exposed-subsystems",
            "value" : "[*]",
            "_address" : "/subsystem=metrics@@@exposed-subsystems"
          }, {
            "name" : "prefix",
            "value" : "${wildfly.metrics.prefix:wildfly}",
            "_address" : "/subsystem=metrics@@@prefix"
          }, {
            "name" : "security-enabled",
            "value" : "false",
            "_address" : "/subsystem=metrics@@@security-enabled"
          } ]
        }
      }
    }

#### Dependencies

- management - required

#### Layer Properties

- org.wildfly.category = Monitoring
- org.wildfly.description = Support for base server metrics in Prometheus format.
- org.wildfly.rule.add-on = observability,metrics
- org.wildfly.rule.add-on-depends-on = only:management
- org.wildfly.rule.add-on-description = Support for base metrics from the WildFly Management Model and JVM MBeans.

#### Packages

- org.wildfly.extension.metrics

### micrometer §

Support for Micrometer.

#### Management Model

    {
      "subsystem" : {
        "micrometer" : {
          "_address" : "/subsystem=micrometer",
          "attributes" : [ {
            "name" : "exposed-subsystems",
            "value" : "[*]",
            "_address" : "/subsystem=micrometer@@@exposed-subsystems"
          } ]
        }
      }
    }

#### Dependencies

- cdi - required

#### Layer Properties

- org.wildfly.category = Monitoring
- org.wildfly.description = Support for Micrometer.
- org.wildfly.rule.add-on = observability,micrometer
- org.wildfly.rule.add-on-depends-on = only:cdi
- org.wildfly.rule.add-on-description = Support for Micrometer.
- org.wildfly.rule.annotations = io.micrometer.core.annotation
- org.wildfly.rule.class = io.micrometer.core.*

#### Packages

- io.prometheus
- org.wildfly.extension.micrometer

### microprofile-config §

Support for MicroProfile Config.

#### Management Model

    {
      "subsystem" : {
        "microprofile-config-smallrye" : {
          "_address" : "/subsystem=microprofile-config-smallrye"
        }
      }
    }

#### Dependencies

- cdi - required

#### Layer Properties

- org.wildfly.category = MicroProfile
- org.wildfly.description = Support for MicroProfile Config.
- org.wildfly.rule.annotations = org.eclipse.microprofile.config.inject
- org.wildfly.rule.class = org.eclipse.microprofile.config.*
- org.wildfly.rule.expected-file = [/META-INF/microprofile-config.properties,/WEB-INF/classes/META-INF/microprofile-config.properties]

#### Packages

- org.wildfly.extension.microprofile.config-smallrye

### microprofile-fault-tolerance §

Support for MicroProfile Fault Tolerance.

#### Management Model

    {
      "subsystem" : {
        "microprofile-fault-tolerance-smallrye" : {
          "_address" : "/subsystem=microprofile-fault-tolerance-smallrye"
        }
      }
    }

#### Dependencies

- cdi - required
- microprofile-config - required

#### Layer Properties

- org.wildfly.category = MicroProfile
- org.wildfly.description = Support for MicroProfile Fault Tolerance.
- org.wildfly.rule.annotations = org.eclipse.microprofile.faulttolerance
- org.wildfly.rule.class = org.eclipse.microprofile.faulttolerance.*

#### Packages

- org.wildfly.extension.microprofile.fault-tolerance-smallrye

### microprofile-health §

Support for MicroProfile Health.

#### Management Model

    {
      "subsystem" : {
        "microprofile-health-smallrye" : {
          "_address" : "/subsystem=microprofile-health-smallrye",
          "attributes" : [ {
            "name" : "empty-liveness-checks-status",
            "value" : "${env.MP_HEALTH_EMPTY_LIVENESS_CHECKS_STATUS:UP}",
            "_address" : "/subsystem=microprofile-health-smallrye@@@empty-liveness-checks-status"
          }, {
            "name" : "empty-readiness-checks-status",
            "value" : "${env.MP_HEALTH_EMPTY_READINESS_CHECKS_STATUS:UP}",
            "_address" : "/subsystem=microprofile-health-smallrye@@@empty-readiness-checks-status"
          }, {
            "name" : "empty-startup-checks-status",
            "value" : "${env.MP_HEALTH_EMPTY_STARTUP_CHECKS_STATUS:UP}",
            "_address" : "/subsystem=microprofile-health-smallrye@@@empty-startup-checks-status"
          }, {
            "name" : "security-enabled",
            "value" : "false",
            "_address" : "/subsystem=microprofile-health-smallrye@@@security-enabled"
          } ]
        }
      }
    }

#### Dependencies

- health - required
- management - required
- microprofile-config - required

#### Layer Properties

- org.wildfly.category = Monitoring
- org.wildfly.description = Support for MicroProfile Health.
- org.wildfly.rule.annotations = org.eclipse.microprofile.health
- org.wildfly.rule.class = org.eclipse.microprofile.health.*

#### Packages

- org.wildfly.extension.microprofile.health-smallrye

### microprofile-jwt §

Support for MicroProfile JWT.

#### Management Model

    {
      "subsystem" : {
        "microprofile-jwt-smallrye" : {
          "_address" : "/subsystem=microprofile-jwt-smallrye"
        }
      }
    }

#### Dependencies

- ee-security - required
- microprofile-config - required

#### Layer Properties

- org.wildfly.category = MicroProfile
- org.wildfly.description = Support for MicroProfile JWT.
- org.wildfly.rule.annotations = org.eclipse.microprofile.jwt,org.eclipse.microprofile.auth.LoginConfig
- org.wildfly.rule.class = org.eclipse.microprofile.jwt.*

#### Packages

- org.wildfly.extension.microprofile.jwt-smallrye
- org.wildfly.security.jakarta.security

### microprofile-lra-coordinator §

Support for acting as the coordinator of MicroProfile LRA long-running actions.

#### Management Model

    {
      "subsystem" : {
        "microprofile-lra-coordinator" : {
          "_address" : "/subsystem=microprofile-lra-coordinator"
        }
      }
    }

#### Dependencies

- cdi - required
- jaxrs - required
- microprofile-config - optional
- transactions - required

#### Layer Properties

- org.wildfly.category = MicroProfile
- org.wildfly.description = Support for acting as the coordinator of MicroProfile LRA long-running actions.
- org.wildfly.rule.add-on = lra,lra-coordinator
- org.wildfly.rule.add-on-depends-on = none
- org.wildfly.rule.add-on-description = Support for MicroProfile LRA Coordinator.

#### Packages

- org.wildfly.extension.microprofile.lra-coordinator

### microprofile-lra-participant §

Support for acting as a participant in MicroProfile LRA long-running actions.

#### Management Model

    {
      "subsystem" : {
        "microprofile-lra-participant" : {
          "_address" : "/subsystem=microprofile-lra-participant"
        }
      }
    }

#### Dependencies

- cdi - required
- jaxrs - required
- microprofile-config - optional

#### Layer Properties

- org.wildfly.category = MicroProfile
- org.wildfly.description = Support for acting as a participant in MicroProfile LRA long-running actions.
- org.wildfly.rule.annotations = org.eclipse.microprofile.lra.annotation,org.eclipse.microprofile.lra.annotation.ws.rs
- org.wildfly.rule.class = org.eclipse.microprofile.lra.*

#### Packages

- org.wildfly.extension.microprofile.lra-participant

### microprofile-openapi §

Support for MicroProfile OpenAPI.

#### Management Model

    {
      "subsystem" : {
        "microprofile-openapi-smallrye" : {
          "_address" : "/subsystem=microprofile-openapi-smallrye"
        }
      }
    }

#### Dependencies

- jaxrs - required
- microprofile-config - required

#### Layer Properties

- org.wildfly.category = MicroProfile
- org.wildfly.description = Support for MicroProfile OpenAPI.
- org.wildfly.rule.add-on = jaxrs,openapi
- org.wildfly.rule.add-on-depends-on = only:jaxrs
- org.wildfly.rule.add-on-description = Support for MicroProfile OpenAPI.
- org.wildfly.rule.annotations = org.eclipse.microprofile.openapi.*
- org.wildfly.rule.expected-file = [/META-INF/openapi.yml,/META-INF/openapi.yaml,/META-INF/openapi.json,/WEB-INF/classes/META-INF/openapi.yml,/WEB-INF/classes/META-INF/openapi.yaml,/WEB-INF/classes/META-INF/openapi.json]
- org.wildfly.rule.properties-file-match-oas-filter = [/META-INF/microprofile-config.properties,/WEB-INF/classes/META-INF/microprofile-config.properties],mp.openapi.filter,*
- org.wildfly.rule.properties-file-match-oas-model-reader = [/META-INF/microprofile-config.properties,/WEB-INF/classes/META-INF/microprofile-config.properties],mp.openapi.model.reader,*

#### Packages

- org.wildfly.extension.microprofile.openapi-smallrye

### microprofile-platform §

Support for available MicroProfile platform specifications.

#### Management Model

    { }

#### Dependencies

- microprofile-config - optional
- microprofile-fault-tolerance - optional
- microprofile-health - optional
- microprofile-jwt - optional
- microprofile-openapi - optional
- microprofile-rest-client - optional
- microprofile-telemetry - optional

#### Layer Properties

- org.wildfly.category = MicroProfile
- org.wildfly.description = Support for available MicroProfile platform specifications.

### microprofile-reactive-messaging §

Support for MicroProfile Reactive Messaging.

#### Management Model

    {
      "subsystem" : {
        "microprofile-reactive-messaging-smallrye" : {
          "_address" : "/subsystem=microprofile-reactive-messaging-smallrye"
        }
      }
    }

#### Dependencies

- cdi - required
- microprofile-config - required
- microprofile-reactive-streams-operators - required
- transactions - optional

#### Layer Properties

- org.wildfly.category = MicroProfile
- org.wildfly.description = Support for MicroProfile Reactive Messaging.
- org.wildfly.rule.annotations = org.eclipse.microprofile.reactive.messaging.*
- org.wildfly.rule.class = org.eclipse.microprofile.reactive.messaging.*

#### Packages

- io.reactivex.rxjava2.rxjava
- io.smallrye.reactive.messaging
- io.smallrye.reactive.messaging.connector
- io.vertx.client
- org.apache.commons.lang3
- org.eclipse.microprofile.reactive-messaging.api
- org.slf4j
- org.wildfly.extension.microprofile.reactive-messaging-smallrye
- org.wildfly.reactive.messaging.config

### microprofile-reactive-messaging-amqp §

Support for MicroProfile Reactive Messaging AMQP connector.

#### Management Model

    { }

#### Dependencies

- microprofile-reactive-messaging - required

#### Layer Properties

- org.wildfly.category = MicroProfile
- org.wildfly.description = Support for MicroProfile Reactive Messaging AMQP connector.
- org.wildfly.rule.add-on = reactive-messaging,amqp
- org.wildfly.rule.add-on-depends-on = all-dependencies
- org.wildfly.rule.add-on-description = Support for the MicroProfile Reactive Messaging AMQP connector.
- org.wildfly.rule.properties-file-match-mp-amqp-incoming = [/META-INF/microprofile-config.properties,/WEB-INF/classes/META-INF/microprofile-config.properties],mp.messaging.incoming.*.connector,smallrye-amqp
- org.wildfly.rule.properties-file-match-mp-amqp-outgoing = [/META-INF/microprofile-config.properties,/WEB-INF/classes/META-INF/microprofile-config.properties],mp.messaging.outgoing.*.connector,smallrye-amqp
- org.wildfly.rule.properties-file-match-mp-amqp-property = [/META-INF/microprofile-config.properties,/WEB-INF/classes/META-INF/microprofile-config.properties],mp.messaging.connector.smallrye-amqp.*

#### Packages

- io.smallrye.reactive.messaging.connector.amqp
- org.wildfly.reactive.messaging.amqp

### microprofile-reactive-messaging-kafka §

Support for MicroProfile Reactive Messaging Kafka connector.

#### Management Model

    { }

#### Dependencies

- microprofile-reactive-messaging - required

#### Layer Properties

- org.wildfly.category = MicroProfile
- org.wildfly.description = Support for MicroProfile Reactive Messaging Kafka connector.
- org.wildfly.rule.add-on = reactive-messaging,kafka
- org.wildfly.rule.add-on-depends-on = all-dependencies
- org.wildfly.rule.add-on-description = Support for the MicroProfile Reactive Messaging Kafka connector.
- org.wildfly.rule.properties-file-match-mp-kafka-incoming = [/META-INF/microprofile-config.properties,/WEB-INF/classes/META-INF/microprofile-config.properties],mp.messaging.incoming.*.connector,smallrye-kafka
- org.wildfly.rule.properties-file-match-mp-kafka-outgoing = [/META-INF/microprofile-config.properties,/WEB-INF/classes/META-INF/microprofile-config.properties],mp.messaging.outgoing.*.connector,smallrye-kafka
- org.wildfly.rule.properties-file-match-mp-kafka-property = [/META-INF/microprofile-config.properties,/WEB-INF/classes/META-INF/microprofile-config.properties],mp.messaging.connector.smallrye-kafka.*

#### Packages

- io.smallrye.reactive.messaging.connector.kafka
- org.wildfly.reactive.messaging.kafka

### microprofile-reactive-streams-operators §

Support for MicroProfile Reactive Streams Operators.

#### Management Model

    {
      "subsystem" : {
        "microprofile-reactive-streams-operators-smallrye" : {
          "_address" : "/subsystem=microprofile-reactive-streams-operators-smallrye"
        }
      }
    }

#### Dependencies

- cdi - required

#### Layer Properties

- org.wildfly.category = MicroProfile
- org.wildfly.description = Support for MicroProfile Reactive Streams Operators.
- org.wildfly.rule.class = org.eclipse.microprofile.reactive.streams.operators.*

#### Packages

- io.smallrye.reactive.mutiny.reactive-streams-operators
- org.wildfly.extension.microprofile.reactive-streams-operators-smallrye
- org.wildfly.reactive.mutiny.reactive-streams-operators.cdi-provider
- org.wildfly.security.manager

### microprofile-rest-client §

Support for MicroProfile REST client.

#### Management Model

    { }

#### Dependencies

- microprofile-config - required

#### Layer Properties

- org.wildfly.category = MicroProfile
- org.wildfly.description = Support for MicroProfile REST client.
- org.wildfly.rule.annotations = org.eclipse.microprofile.rest.client.annotation,org.eclipse.microprofile.rest.client.inject
- org.wildfly.rule.class = org.eclipse.microprofile.rest.client.*

#### Packages

- org.jboss.resteasy.microprofile.config
- org.jboss.resteasy.resteasy-client-microprofile

### microprofile-telemetry §

Support for MicroProfile Telemetry.

#### Management Model

    {
      "subsystem" : {
        "microprofile-telemetry" : {
          "_address" : "/subsystem=microprofile-telemetry"
        }
      }
    }

#### Dependencies

- cdi - required
- microprofile-config - required
- opentelemetry - required

#### Layer Properties

- org.wildfly.category = Monitoring
- org.wildfly.description = Support for MicroProfile Telemetry.
- org.wildfly.rule.inclusion-mode = all-dependencies

#### Packages

- org.wildfly.extension.microprofile.telemetry

### mod_cluster §

Support for mod_cluster subsystem.

#### Management Model

    {
      "socket-binding-group" : {
        "standard-sockets" : {
          "_address" : "/socket-binding-group=*",
          "socket-binding" : {
            "modcluster" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "multicast-address",
                "value" : "${jboss.modcluster.multicast.address:224.0.1.105}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-address"
              }, {
                "name" : "multicast-port",
                "value" : "23364",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-port"
              } ]
            }
          }
        }
      },
      "subsystem" : {
        "modcluster" : {
          "_address" : "/subsystem=modcluster",
          "proxy" : {
            "default" : {
              "_address" : "/subsystem=modcluster/proxy=*",
              "attributes" : [ {
                "name" : "advertise-socket",
                "value" : "modcluster",
                "_address" : "/subsystem=modcluster/proxy=*@@@advertise-socket"
              }, {
                "name" : "listener",
                "value" : "ajp",
                "_address" : "/subsystem=modcluster/proxy=*@@@listener"
              } ],
              "load-provider" : {
                "dynamic" : {
                  "_address" : "/subsystem=modcluster/proxy=*/load-provider=dynamic",
                  "load-metric" : {
                    "cpu" : {
                      "_address" : "/subsystem=modcluster/proxy=*/load-provider=dynamic/load-metric=*",
                      "attributes" : [ {
                        "name" : "type",
                        "value" : "cpu",
                        "_address" : "/subsystem=modcluster/proxy=*/load-provider=dynamic/load-metric=*@@@type"
                      } ]
                    }
                  }
                }
              }
            }
          }
        },
        "undertow" : {
          "_address" : "/subsystem=undertow",
          "server" : {
            "default-server" : {
              "_address" : "/subsystem=undertow/server=*",
              "ajp-listener" : {
                "ajp" : {
                  "_address" : "/subsystem=undertow/server=*/ajp-listener=*",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "ajp",
                    "_address" : "/subsystem=undertow/server=*/ajp-listener=*@@@socket-binding"
                  } ]
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- web-server - required

#### Layer Properties

- org.wildfly.category = Clustering
- org.wildfly.description = Support for mod_cluster subsystem.
- org.wildfly.rule.add-on = clustering,mod_cluster
- org.wildfly.rule.add-on-depends-on = only:undertow
- org.wildfly.rule.add-on-description = Support for mod_cluster integration.

#### Packages

- org.jboss.as.modcluster

### mvc-krazo §

Support for Jakarta MVC.

#### Management Model

    {
      "subsystem" : {
        "mvc-krazo" : {
          "_address" : "/subsystem=mvc-krazo"
        }
      }
    }

#### Dependencies

- bean-validation - required
- cdi - required
- jaxrs-core - required
- jsf - optional

#### Layer Properties

- org.wildfly.category = Jakarta MVC
- org.wildfly.description = Support for Jakarta MVC.
- org.wildfly.rule.annotations = jakarta.mvc
- org.wildfly.rule.class = jakarta.mvc

#### Packages

- jakarta.mvc.api
- org.eclipse.krazo.core
- org.eclipse.krazo.resteasy
- org.wildfly.extension.mvc-krazo

### naming §

Support for JNDI.

#### Management Model

    {
      "subsystem" : {
        "naming" : {
          "_address" : "/subsystem=naming"
        }
      }
    }

#### Dependencies

- base-server - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for JNDI.
- org.wildfly.rule.class = javax.naming

#### Packages

- org.jboss.as.naming

### observability §

Aggregation of multiple monitoring functionalities.

#### Management Model

    { }

#### Dependencies

- microprofile-config - optional
- microprofile-health - optional
- microprofile-telemetry - optional

#### Layer Properties

- org.wildfly.category = Monitoring
- org.wildfly.description = Aggregation of multiple monitoring functionalities.

### opentelemetry §

Support for OpenTelemetry.

#### Management Model

    {
      "subsystem" : {
        "opentelemetry" : {
          "_address" : "/subsystem=opentelemetry"
        }
      }
    }

#### Dependencies

- cdi - required

#### Layer Properties

- org.wildfly.category = Monitoring
- org.wildfly.description = Support for OpenTelemetry.
- org.wildfly.rule.annotations = io.opentelemetry.instrumentation.annotations
- org.wildfly.rule.class = io.opentelemetry.api.*,io.opentelemetry.sdk.*

#### Packages

- org.wildfly.extension.opentelemetry

### pojo §

#### Management Model

    {
      "subsystem" : {
        "pojo" : {
          "_address" : "/subsystem=pojo"
        }
      }
    }

#### Dependencies

- base-server - required

#### Layer Properties

- org.wildfly.rule.expected-file = [/META-INF/*jboss-beans.xml,/WEB-INF/*jboss-beans.xml,/WEB-INF/classes/META-INF/*jboss-beans.xml]

#### Packages

- org.jboss.as.pojo

### remote-activemq §

Support for connections to a remote Apache Activemq Artemis Jakarta Messaging broker.

#### Management Model

    {
      "socket-binding-group" : {
        "standard-sockets" : {
          "_address" : "/socket-binding-group=*",
          "remote-destination-outbound-socket-binding" : {
            "messaging-activemq" : {
              "_address" : "/socket-binding-group=*/remote-destination-outbound-socket-binding=*",
              "attributes" : [ {
                "name" : "host",
                "value" : "${jboss.messaging.connector.host:localhost}",
                "_address" : "/socket-binding-group=*/remote-destination-outbound-socket-binding=*@@@host"
              }, {
                "name" : "port",
                "value" : "${jboss.messaging.connector.port:61616}",
                "_address" : "/socket-binding-group=*/remote-destination-outbound-socket-binding=*@@@port"
              } ]
            }
          }
        }
      },
      "subsystem" : {
        "ee" : {
          "_address" : "/subsystem=ee",
          "service" : {
            "default-bindings" : {
              "_address" : "/subsystem=ee/service=default-bindings",
              "attributes" : [ {
                "name" : "jms-connection-factory",
                "value" : "java:jboss/DefaultJMSConnectionFactory",
                "_address" : "/subsystem=ee/service=default-bindings@@@jms-connection-factory"
              } ]
            }
          }
        },
        "messaging-activemq" : {
          "_address" : "/subsystem=messaging-activemq",
          "pooled-connection-factory" : {
            "activemq-ra" : {
              "_address" : "/subsystem=messaging-activemq/pooled-connection-factory=*",
              "attributes" : [ {
                "name" : "connectors",
                "value" : "[artemis]",
                "_address" : "/subsystem=messaging-activemq/pooled-connection-factory=*@@@connectors"
              }, {
                "name" : "entries",
                "value" : "[java:/JmsXA,java:jboss/DefaultJMSConnectionFactory]",
                "_address" : "/subsystem=messaging-activemq/pooled-connection-factory=*@@@entries"
              }, {
                "name" : "password",
                "value" : "guest",
                "_address" : "/subsystem=messaging-activemq/pooled-connection-factory=*@@@password"
              }, {
                "name" : "transaction",
                "value" : "xa",
                "_address" : "/subsystem=messaging-activemq/pooled-connection-factory=*@@@transaction"
              }, {
                "name" : "user",
                "value" : "guest",
                "_address" : "/subsystem=messaging-activemq/pooled-connection-factory=*@@@user"
              } ]
            }
          },
          "remote-connector" : {
            "artemis" : {
              "_address" : "/subsystem=messaging-activemq/remote-connector=*",
              "attributes" : [ {
                "name" : "params",
                "value" : "{use-nio=true,use-nio-global-worker-pool=true}",
                "_address" : "/subsystem=messaging-activemq/remote-connector=*@@@params"
              }, {
                "name" : "socket-binding",
                "value" : "messaging-activemq",
                "_address" : "/subsystem=messaging-activemq/remote-connector=*@@@socket-binding"
              } ]
            }
          }
        }
      }
    }

#### Dependencies

- messaging-activemq - required

#### Layer Properties

- org.wildfly.category = Jakarta Messaging
- org.wildfly.description = Support for connections to a remote Apache Activemq Artemis Jakarta Messaging broker.
- org.wildfly.rule.add-on = messaging,remote-activemq
- org.wildfly.rule.add-on-depends-on = only:messaging-activemq
- org.wildfly.rule.add-on-description = Support for connections to a remote Apache Activemq Artemis Jakarta Messaging broker.

#### Packages

- jakarta.json.api
- org.glassfish.javax.el
- org.jboss.as.ee
- org.jboss.invocation
- org.wildfly.extension.messaging-activemq
- org.wildfly.naming

### remoting §

#### Management Model

    {
      "subsystem" : {
        "remoting" : {
          "_address" : "/subsystem=remoting",
          "attributes" : [ {
            "name" : "worker",
            "value" : "default",
            "_address" : "/subsystem=remoting@@@worker"
          } ],
          "http-connector" : {
            "http-remoting-connector" : {
              "_address" : "/subsystem=remoting/http-connector=*",
              "attributes" : [ {
                "name" : "connector-ref",
                "value" : "default",
                "_address" : "/subsystem=remoting/http-connector=*@@@connector-ref"
              }, {
                "name" : "sasl-authentication-factory",
                "value" : "application-sasl-authentication",
                "_address" : "/subsystem=remoting/http-connector=*@@@sasl-authentication-factory"
              } ]
            }
          }
        }
      }
    }

#### Dependencies

- elytron - required
- io - required

#### Packages

- io.undertow.core
- org.jboss.as.remoting

### request-controller §

#### Management Model

    {
      "subsystem" : {
        "request-controller" : {
          "_address" : "/subsystem=request-controller"
        }
      }
    }

#### Dependencies

- base-server - required

#### Packages

- org.wildfly.extension.request-controller

### resource-adapters §

Support for deployment of Jakarta Connectors resource adapters.

#### Management Model

    {
      "subsystem" : {
        "jca" : {
          "_address" : "/subsystem=jca",
          "archive-validation" : {
            "archive-validation" : {
              "_address" : "/subsystem=jca/archive-validation=archive-validation",
              "attributes" : [ {
                "name" : "enabled",
                "value" : "true",
                "_address" : "/subsystem=jca/archive-validation=archive-validation@@@enabled"
              }, {
                "name" : "fail-on-error",
                "value" : "true",
                "_address" : "/subsystem=jca/archive-validation=archive-validation@@@fail-on-error"
              }, {
                "name" : "fail-on-warn",
                "value" : "false",
                "_address" : "/subsystem=jca/archive-validation=archive-validation@@@fail-on-warn"
              } ]
            }
          },
          "bean-validation" : {
            "bean-validation" : {
              "_address" : "/subsystem=jca/bean-validation=bean-validation",
              "attributes" : [ {
                "name" : "enabled",
                "value" : "true",
                "_address" : "/subsystem=jca/bean-validation=bean-validation@@@enabled"
              } ]
            }
          },
          "bootstrap-context" : {
            "default" : {
              "_address" : "/subsystem=jca/bootstrap-context=*",
              "attributes" : [ {
                "name" : "name",
                "value" : "default",
                "_address" : "/subsystem=jca/bootstrap-context=*@@@name"
              }, {
                "name" : "workmanager",
                "value" : "default",
                "_address" : "/subsystem=jca/bootstrap-context=*@@@workmanager"
              } ]
            }
          },
          "cached-connection-manager" : {
            "cached-connection-manager" : {
              "_address" : "/subsystem=jca/cached-connection-manager=cached-connection-manager",
              "attributes" : [ {
                "name" : "install",
                "value" : "true",
                "_address" : "/subsystem=jca/cached-connection-manager=cached-connection-manager@@@install"
              } ]
            }
          },
          "workmanager" : {
            "default" : {
              "_address" : "/subsystem=jca/workmanager=*",
              "attributes" : [ {
                "name" : "name",
                "value" : "default",
                "_address" : "/subsystem=jca/workmanager=*@@@name"
              } ],
              "long-running-threads" : {
                "default" : {
                  "_address" : "/subsystem=jca/workmanager=*/long-running-threads=*",
                  "attributes" : [ {
                    "name" : "core-threads",
                    "value" : "50",
                    "_address" : "/subsystem=jca/workmanager=*/long-running-threads=*@@@core-threads"
                  }, {
                    "name" : "keepalive-time",
                    "value" : "{ unit=SECONDS, time=10 }",
                    "_address" : "/subsystem=jca/workmanager=*/long-running-threads=*@@@keepalive-time"
                  }, {
                    "name" : "max-threads",
                    "value" : "50",
                    "_address" : "/subsystem=jca/workmanager=*/long-running-threads=*@@@max-threads"
                  }, {
                    "name" : "queue-length",
                    "value" : "50",
                    "_address" : "/subsystem=jca/workmanager=*/long-running-threads=*@@@queue-length"
                  } ]
                }
              },
              "short-running-threads" : {
                "default" : {
                  "_address" : "/subsystem=jca/workmanager=*/short-running-threads=*",
                  "attributes" : [ {
                    "name" : "core-threads",
                    "value" : "50",
                    "_address" : "/subsystem=jca/workmanager=*/short-running-threads=*@@@core-threads"
                  }, {
                    "name" : "keepalive-time",
                    "value" : "{ unit=SECONDS, time=10 }",
                    "_address" : "/subsystem=jca/workmanager=*/short-running-threads=*@@@keepalive-time"
                  }, {
                    "name" : "max-threads",
                    "value" : "50",
                    "_address" : "/subsystem=jca/workmanager=*/short-running-threads=*@@@max-threads"
                  }, {
                    "name" : "queue-length",
                    "value" : "50",
                    "_address" : "/subsystem=jca/workmanager=*/short-running-threads=*@@@queue-length"
                  } ]
                }
              }
            }
          }
        },
        "resource-adapters" : {
          "_address" : "/subsystem=resource-adapters"
        }
      }
    }

#### Dependencies

- transactions - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for deployment of Jakarta Connectors resource adapters.
- org.wildfly.rule.expected-file = [/META-INF/ra.xml,/META-INF/ironjacamar.xml]

#### Packages

- jakarta.jms.api
- org.jboss.as.connector

### sar §

Support for SAR archives to deploy MBeans.

#### Management Model

    {
      "subsystem" : {
        "sar" : {
          "_address" : "/subsystem=sar"
        }
      }
    }

#### Dependencies

- base-server - required
- jmx - required

#### Layer Properties

- org.wildfly.category = Management
- org.wildfly.description = Support for SAR archives to deploy MBeans.
- org.wildfly.rule.expected-file = /META-INF/jboss-service.xml

#### Packages

- org.jboss.as.sar
- org.jboss.as.system-jmx

### security-manager §

#### Management Model

    { }

#### Dependencies

- base-server - required

### servlet §

#### Management Model

    {
      "subsystem" : {
        "undertow" : {
          "_address" : "/subsystem=undertow",
          "server" : {
            "default-server" : {
              "_address" : "/subsystem=undertow/server=*",
              "host" : {
                "default-host" : {
                  "_address" : "/subsystem=undertow/server=*/host=*",
                  "attributes" : [ {
                    "name" : "alias",
                    "value" : "[localhost]",
                    "_address" : "/subsystem=undertow/server=*/host=*@@@alias"
                  } ],
                  "setting" : {
                    "http-invoker" : {
                      "_address" : "/subsystem=undertow/server=*/host=*/setting=http-invoker"
                    }
                  }
                }
              }
            }
          },
          "servlet-container" : {
            "default" : {
              "_address" : "/subsystem=undertow/servlet-container=*",
              "setting" : {
                "jsp" : {
                  "_address" : "/subsystem=undertow/servlet-container=*/setting=jsp"
                },
                "websockets" : {
                  "_address" : "/subsystem=undertow/servlet-container=*/setting=websockets"
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- deployment-scanner - optional
- ee-integration - required
- naming - required
- undertow - required

#### Layer Properties

- org.wildfly.rule.annotations = jakarta.servlet.annotation,jakarta.websocket.*
- org.wildfly.rule.class = jakarta.servlet.*,jakarta.websocket.*
- org.wildfly.rule.xml-path = /WEB-INF/web.xml,/web-app/servlet

#### Packages

- org.wildfly.extension.undertow

### singleton-ha §

Support for WildFly singleton HA.

#### Management Model

    {
      "interface" : {
        "private" : {
          "_address" : "/interface=*",
          "attributes" : [ {
            "name" : "inet-address",
            "value" : "${jboss.bind.address.private:127.0.0.1}",
            "_address" : "/interface=*@@@inet-address"
          } ]
        }
      },
      "socket-binding-group" : {
        "standard-sockets" : {
          "_address" : "/socket-binding-group=*",
          "socket-binding" : {
            "jgroups-mping" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "multicast-address",
                "value" : "${jboss.default.multicast.address:230.0.0.4}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-address"
              }, {
                "name" : "multicast-port",
                "value" : "45700",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-port"
              } ]
            },
            "jgroups-tcp" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "port",
                "value" : "7600",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "jgroups-udp" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "multicast-address",
                "value" : "${jboss.default.multicast.address:230.0.0.4}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-address"
              }, {
                "name" : "multicast-port",
                "value" : "45688",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-port"
              }, {
                "name" : "port",
                "value" : "55200",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "jgroups-udp-fd" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "port",
                "value" : "54200",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            }
          }
        }
      },
      "subsystem" : {
        "infinispan" : {
          "_address" : "/subsystem=infinispan",
          "cache-container" : {
            "server" : {
              "_address" : "/subsystem=infinispan/cache-container=*",
              "attributes" : [ {
                "name" : "aliases",
                "value" : "[singleton, cluster]",
                "_address" : "/subsystem=infinispan/cache-container=*@@@aliases"
              }, {
                "name" : "default-cache",
                "value" : "default",
                "_address" : "/subsystem=infinispan/cache-container=*@@@default-cache"
              }, {
                "name" : "marshaller",
                "value" : "PROTOSTREAM",
                "_address" : "/subsystem=infinispan/cache-container=*@@@marshaller"
              }, {
                "name" : "modules",
                "value" : "[org.wildfly.clustering.singleton.server]",
                "_address" : "/subsystem=infinispan/cache-container=*@@@modules"
              } ],
              "replicated-cache" : {
                "default" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=expiration@@@interval"
                      } ]
                    },
                    "transaction" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=transaction",
                      "attributes" : [ {
                        "name" : "mode",
                        "value" : "BATCH",
                        "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=transaction@@@mode"
                      } ]
                    }
                  }
                }
              },
              "transport" : {
                "jgroups" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/transport=jgroups",
                  "attributes" : [ {
                    "name" : "lock-timeout",
                    "value" : "60000",
                    "_address" : "/subsystem=infinispan/cache-container=*/transport=jgroups@@@lock-timeout"
                  } ]
                }
              }
            }
          }
        },
        "jgroups" : {
          "_address" : "/subsystem=jgroups",
          "attributes" : [ {
            "name" : "default-channel",
            "value" : "ee",
            "_address" : "/subsystem=jgroups@@@default-channel"
          } ],
          "channel" : {
            "ee" : {
              "_address" : "/subsystem=jgroups/channel=*",
              "attributes" : [ {
                "name" : "cluster",
                "value" : "ejb",
                "_address" : "/subsystem=jgroups/channel=*@@@cluster"
              }, {
                "name" : "stack",
                "value" : "udp",
                "_address" : "/subsystem=jgroups/channel=*@@@stack"
              } ]
            }
          },
          "stack" : {
            "tcp" : {
              "_address" : "/subsystem=jgroups/stack=*",
              "protocol" : {
                "FD_ALL3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "FRAG4" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MERGE3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MPING" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=MPING",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-mping",
                    "_address" : "/subsystem=jgroups/stack=*/protocol=MPING@@@socket-binding"
                  } ]
                },
                "RED" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UNICAST3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "VERIFY_SUSPECT2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.GMS" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.NAKACK2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.STABLE" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                }
              },
              "transport" : {
                "TCP" : {
                  "_address" : "/subsystem=jgroups/stack=*/transport=*",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-tcp",
                    "_address" : "/subsystem=jgroups/stack=*/transport=*@@@socket-binding"
                  } ]
                }
              }
            },
            "udp" : {
              "_address" : "/subsystem=jgroups/stack=*",
              "protocol" : {
                "FD_ALL3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "FD_SOCK2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=FD_SOCK2",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-udp-fd",
                    "_address" : "/subsystem=jgroups/stack=*/protocol=FD_SOCK2@@@socket-binding"
                  } ]
                },
                "FRAG4" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MERGE3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "PING" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "RED" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UNICAST3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "VERIFY_SUSPECT2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.GMS" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.NAKACK2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.STABLE" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                }
              },
              "transport" : {
                "UDP" : {
                  "_address" : "/subsystem=jgroups/stack=*/transport=*",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-udp",
                    "_address" : "/subsystem=jgroups/stack=*/transport=*@@@socket-binding"
                  } ]
                }
              }
            }
          }
        },
        "singleton" : {
          "_address" : "/subsystem=singleton",
          "attributes" : [ {
            "name" : "default",
            "value" : "default",
            "_address" : "/subsystem=singleton@@@default"
          } ],
          "singleton-policy" : {
            "default" : {
              "_address" : "/subsystem=singleton/singleton-policy=*",
              "attributes" : [ {
                "name" : "cache-container",
                "value" : "server",
                "_address" : "/subsystem=singleton/singleton-policy=*@@@cache-container"
              } ],
              "election-policy" : {
                "simple" : {
                  "_address" : "/subsystem=singleton/singleton-policy=*/election-policy=simple"
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- base-server - required
- transactions - required

#### Layer Properties

- org.wildfly.category = Clustering
- org.wildfly.description = Support for WildFly singleton HA.
- org.wildfly.rule.profile-ha = singleton-local

#### Packages

- org.jboss.as.clustering.infinispan
- org.jboss.as.clustering.jgroups
- org.wildfly.extension.clustering.server
- org.wildfly.extension.clustering.singleton

### singleton-local §

Support for WildFly singleton.

#### Management Model

    {
      "subsystem" : {
        "infinispan" : {
          "_address" : "/subsystem=infinispan",
          "cache-container" : {
            "server" : {
              "_address" : "/subsystem=infinispan/cache-container=*",
              "attributes" : [ {
                "name" : "default-cache",
                "value" : "default",
                "_address" : "/subsystem=infinispan/cache-container=*@@@default-cache"
              }, {
                "name" : "marshaller",
                "value" : "PROTOSTREAM",
                "_address" : "/subsystem=infinispan/cache-container=*@@@marshaller"
              }, {
                "name" : "modules",
                "value" : "[org.wildfly.clustering.singleton.server]",
                "_address" : "/subsystem=infinispan/cache-container=*@@@modules"
              } ],
              "local-cache" : {
                "default" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration@@@interval"
                      } ]
                    }
                  }
                }
              }
            }
          }
        },
        "singleton" : {
          "_address" : "/subsystem=singleton",
          "attributes" : [ {
            "name" : "default",
            "value" : "default",
            "_address" : "/subsystem=singleton@@@default"
          } ],
          "singleton-policy" : {
            "default" : {
              "_address" : "/subsystem=singleton/singleton-policy=*",
              "attributes" : [ {
                "name" : "cache-container",
                "value" : "server",
                "_address" : "/subsystem=singleton/singleton-policy=*@@@cache-container"
              } ],
              "election-policy" : {
                "simple" : {
                  "_address" : "/subsystem=singleton/singleton-policy=*/election-policy=simple"
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- base-server - required

#### Layer Properties

- org.wildfly.category = Clustering
- org.wildfly.description = Support for WildFly singleton.
- org.wildfly.rule.class = org.wildfly.clustering.singleton.*
- org.wildfly.rule.expected-file = [/META-INF/singleton-deployment.xml,/WEB-INF/classes/META-INF/singleton-deployment.xml]

#### Packages

- org.jboss.as.clustering.infinispan
- org.wildfly.extension.clustering.server
- org.wildfly.extension.clustering.singleton

### transactions §

#### Management Model

    {
      "socket-binding-group" : {
        "standard-sockets" : {
          "_address" : "/socket-binding-group=*",
          "socket-binding" : {
            "txn-recovery-environment" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "port",
                "value" : "4712",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "txn-status-manager" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "port",
                "value" : "4713",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            }
          }
        }
      },
      "subsystem" : {
        "elytron" : {
          "_address" : "/subsystem=elytron",
          "permission-set" : {
            "default-permissions" : {
              "_address" : "/subsystem=elytron/permission-set=*",
              "attributes" : [ {
                "name" : "permissions",
                "value" : "{ module=org.wildfly.transaction.client, class-name=org.wildfly.transaction.client.RemoteTransactionPermission }",
                "_address" : "/subsystem=elytron/permission-set=*@@@permissions"
              } ]
            }
          }
        },
        "transactions" : {
          "_address" : "/subsystem=transactions",
          "attributes" : [ {
            "name" : "node-identifier",
            "value" : "${jboss.tx.node.id:1}",
            "_address" : "/subsystem=transactions@@@node-identifier"
          }, {
            "name" : "object-store-path",
            "value" : "tx-object-store",
            "_address" : "/subsystem=transactions@@@object-store-path"
          }, {
            "name" : "object-store-relative-to",
            "value" : "jboss.server.data.dir",
            "_address" : "/subsystem=transactions@@@object-store-relative-to"
          }, {
            "name" : "process-id-uuid",
            "value" : "true",
            "_address" : "/subsystem=transactions@@@process-id-uuid"
          }, {
            "name" : "socket-binding",
            "value" : "txn-recovery-environment",
            "_address" : "/subsystem=transactions@@@socket-binding"
          }, {
            "name" : "statistics-enabled",
            "value" : "${wildfly.transactions.statistics-enabled:${wildfly.statistics-enabled:false}}",
            "_address" : "/subsystem=transactions@@@statistics-enabled"
          }, {
            "name" : "status-socket-binding",
            "value" : "txn-status-manager",
            "_address" : "/subsystem=transactions@@@status-socket-binding"
          } ],
          "log-store" : {
            "log-store" : {
              "_address" : "/subsystem=transactions/log-store=log-store"
            }
          }
        }
      }
    }

#### Dependencies

- ee - required
- elytron - required

#### Layer Properties

- org.wildfly.rule.annotations = jakarta.transaction
- org.wildfly.rule.class = jakarta.transaction

#### Packages

- org.jboss.as.transactions

### undertow §

#### Management Model

    {
      "socket-binding-group" : {
        "standard-sockets" : {
          "_address" : "/socket-binding-group=*",
          "socket-binding" : {
            "ajp" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "port",
                "value" : "${jboss.ajp.port:8009}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "http" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "port",
                "value" : "${jboss.http.port:8080}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "https" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "port",
                "value" : "${jboss.https.port:8443}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            }
          }
        }
      },
      "subsystem" : {
        "undertow" : {
          "_address" : "/subsystem=undertow",
          "attributes" : [ {
            "name" : "statistics-enabled",
            "value" : "${wildfly.undertow.statistics-enabled:${wildfly.statistics-enabled:false}}",
            "_address" : "/subsystem=undertow@@@statistics-enabled"
          } ],
          "buffer-cache" : {
            "default" : {
              "_address" : "/subsystem=undertow/buffer-cache=*"
            }
          },
          "byte-buffer-pool" : {
            "default" : {
              "_address" : "/subsystem=undertow/byte-buffer-pool=*"
            }
          },
          "configuration" : {
            "filter" : {
              "_address" : "/subsystem=undertow/configuration=filter"
            },
            "handler" : {
              "_address" : "/subsystem=undertow/configuration=handler"
            }
          },
          "server" : {
            "default-server" : {
              "_address" : "/subsystem=undertow/server=*",
              "host" : {
                "default-host" : {
                  "_address" : "/subsystem=undertow/server=*/host=*",
                  "attributes" : [ {
                    "name" : "alias",
                    "value" : "[localhost]",
                    "_address" : "/subsystem=undertow/server=*/host=*@@@alias"
                  } ]
                }
              },
              "http-listener" : {
                "default" : {
                  "_address" : "/subsystem=undertow/server=*/http-listener=*",
                  "attributes" : [ {
                    "name" : "enable-http2",
                    "value" : "true",
                    "_address" : "/subsystem=undertow/server=*/http-listener=*@@@enable-http2"
                  }, {
                    "name" : "redirect-socket",
                    "value" : "https",
                    "_address" : "/subsystem=undertow/server=*/http-listener=*@@@redirect-socket"
                  }, {
                    "name" : "socket-binding",
                    "value" : "http",
                    "_address" : "/subsystem=undertow/server=*/http-listener=*@@@socket-binding"
                  } ]
                }
              }
            }
          },
          "servlet-container" : {
            "default" : {
              "_address" : "/subsystem=undertow/servlet-container=*"
            }
          }
        }
      }
    }

#### Dependencies

- io - required

#### Packages

- org.wildfly.extension.undertow

### undertow-https §

Support for securing web access with HTTPS.

#### Management Model

    {
      "subsystem" : {
        "undertow" : {
          "_address" : "/subsystem=undertow",
          "server" : {
            "default-server" : {
              "_address" : "/subsystem=undertow/server=*",
              "https-listener" : {
                "https" : {
                  "_address" : "/subsystem=undertow/server=*/https-listener=*",
                  "attributes" : [ {
                    "name" : "enable-http2",
                    "value" : "true",
                    "_address" : "/subsystem=undertow/server=*/https-listener=*@@@enable-http2"
                  }, {
                    "name" : "socket-binding",
                    "value" : "https",
                    "_address" : "/subsystem=undertow/server=*/https-listener=*@@@socket-binding"
                  }, {
                    "name" : "ssl-context",
                    "value" : "applicationSSC",
                    "_address" : "/subsystem=undertow/server=*/https-listener=*@@@ssl-context"
                  } ]
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- elytron - required
- undertow - required

#### Layer Properties

- org.wildfly.category = Security
- org.wildfly.description = Support for securing web access with HTTPS.
- org.wildfly.rule.add-on = security,ssl
- org.wildfly.rule.add-on-depends-on = all-dependencies
- org.wildfly.rule.add-on-description = Support for the Undertow HTTPS listener.

#### Packages

- org.wildfly.extension.undertow

### undertow-load-balancer §

Support for Undertow configured as a load balancer.

#### Management Model

    {
      "interface" : {
        "private" : {
          "_address" : "/interface=*",
          "attributes" : [ {
            "name" : "inet-address",
            "value" : "${jboss.bind.address.private:127.0.0.1}",
            "_address" : "/interface=*@@@inet-address"
          } ]
        }
      },
      "socket-binding-group" : {
        "standard-sockets" : {
          "_address" : "/socket-binding-group=*",
          "socket-binding" : {
            "http" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "port",
                "value" : "${jboss.http.port:8080}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "https" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "port",
                "value" : "${jboss.https.port:8443}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "mcmp-management" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "port",
                "value" : "${jboss.mcmp.port:8090}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "modcluster" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "multicast-address",
                "value" : "${jboss.modcluster.multicast.address:224.0.1.105}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-address"
              }, {
                "name" : "multicast-port",
                "value" : "23364",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-port"
              } ]
            }
          }
        }
      },
      "subsystem" : {
        "undertow" : {
          "_address" : "/subsystem=undertow",
          "attributes" : [ {
            "name" : "statistics-enabled",
            "value" : "${wildfly.undertow.statistics-enabled:${wildfly.statistics-enabled:false}}",
            "_address" : "/subsystem=undertow@@@statistics-enabled"
          } ],
          "buffer-cache" : {
            "default" : {
              "_address" : "/subsystem=undertow/buffer-cache=*"
            }
          },
          "byte-buffer-pool" : {
            "default" : {
              "_address" : "/subsystem=undertow/byte-buffer-pool=*"
            }
          },
          "configuration" : {
            "filter" : {
              "_address" : "/subsystem=undertow/configuration=filter",
              "mod-cluster" : {
                "load-balancer" : {
                  "_address" : "/subsystem=undertow/configuration=filter/mod-cluster=*",
                  "attributes" : [ {
                    "name" : "advertise-socket-binding",
                    "value" : "modcluster",
                    "_address" : "/subsystem=undertow/configuration=filter/mod-cluster=*@@@advertise-socket-binding"
                  }, {
                    "name" : "enable-http2",
                    "value" : "true",
                    "_address" : "/subsystem=undertow/configuration=filter/mod-cluster=*@@@enable-http2"
                  }, {
                    "name" : "management-socket-binding",
                    "value" : "mcmp-management",
                    "_address" : "/subsystem=undertow/configuration=filter/mod-cluster=*@@@management-socket-binding"
                  }, {
                    "name" : "max-retries",
                    "value" : "3",
                    "_address" : "/subsystem=undertow/configuration=filter/mod-cluster=*@@@max-retries"
                  } ]
                }
              }
            },
            "handler" : {
              "_address" : "/subsystem=undertow/configuration=handler"
            }
          },
          "server" : {
            "default-server" : {
              "_address" : "/subsystem=undertow/server=*",
              "host" : {
                "default-host" : {
                  "_address" : "/subsystem=undertow/server=*/host=*",
                  "attributes" : [ {
                    "name" : "alias",
                    "value" : "[localhost]",
                    "_address" : "/subsystem=undertow/server=*/host=*@@@alias"
                  } ],
                  "filter-ref" : {
                    "load-balancer" : {
                      "_address" : "/subsystem=undertow/server=*/host=*/filter-ref=*"
                    }
                  }
                }
              },
              "http-listener" : {
                "default" : {
                  "_address" : "/subsystem=undertow/server=*/http-listener=*",
                  "attributes" : [ {
                    "name" : "enable-http2",
                    "value" : "true",
                    "_address" : "/subsystem=undertow/server=*/http-listener=*@@@enable-http2"
                  }, {
                    "name" : "redirect-socket",
                    "value" : "https",
                    "_address" : "/subsystem=undertow/server=*/http-listener=*@@@redirect-socket"
                  }, {
                    "name" : "socket-binding",
                    "value" : "http",
                    "_address" : "/subsystem=undertow/server=*/http-listener=*@@@socket-binding"
                  } ]
                },
                "management" : {
                  "_address" : "/subsystem=undertow/server=*/http-listener=*",
                  "attributes" : [ {
                    "name" : "enable-http2",
                    "value" : "true",
                    "_address" : "/subsystem=undertow/server=*/http-listener=*@@@enable-http2"
                  }, {
                    "name" : "socket-binding",
                    "value" : "mcmp-management",
                    "_address" : "/subsystem=undertow/server=*/http-listener=*@@@socket-binding"
                  } ]
                }
              }
            }
          },
          "servlet-container" : {
            "default" : {
              "_address" : "/subsystem=undertow/servlet-container=*"
            }
          }
        }
      }
    }

#### Dependencies

- base-server - required
- io - required

#### Layer Properties

- org.wildfly.category = Clustering
- org.wildfly.description = Support for Undertow configured as a load balancer.
- org.wildfly.rule.add-on = web,load-balancer
- org.wildfly.rule.add-on-depends-on = none
- org.wildfly.rule.add-on-description = Support for Undertow configured as a load balancer.

#### Packages

- org.wildfly.extension.undertow

### vertx §

#### Management Model

    {
      "subsystem" : {
        "vertx" : {
          "_address" : "/subsystem=vertx"
        }
      }
    }

#### Dependencies

- cdi - required

#### Layer Properties

- org.wildfly.rule.class = io.vertx.core.*,io.vertx.mutiny.core.*
- org.wildfly.rule.expected-file = [/WEB-INF/vertx.json,/META-INF/vertx.json]

#### Packages

- org.wildfly.extension.vertx

### web-clustering §

Support for distributable web applications. Configures a non-local Infinispan-based container web cache for data session handling suitable to clustering environments.

#### Management Model

    {
      "interface" : {
        "private" : {
          "_address" : "/interface=*",
          "attributes" : [ {
            "name" : "inet-address",
            "value" : "${jboss.bind.address.private:127.0.0.1}",
            "_address" : "/interface=*@@@inet-address"
          } ]
        }
      },
      "socket-binding-group" : {
        "standard-sockets" : {
          "_address" : "/socket-binding-group=*",
          "socket-binding" : {
            "jgroups-mping" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "multicast-address",
                "value" : "${jboss.default.multicast.address:230.0.0.4}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-address"
              }, {
                "name" : "multicast-port",
                "value" : "45700",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-port"
              } ]
            },
            "jgroups-tcp" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "port",
                "value" : "7600",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "jgroups-udp" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "multicast-address",
                "value" : "${jboss.default.multicast.address:230.0.0.4}",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-address"
              }, {
                "name" : "multicast-port",
                "value" : "45688",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@multicast-port"
              }, {
                "name" : "port",
                "value" : "55200",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            },
            "jgroups-udp-fd" : {
              "_address" : "/socket-binding-group=*/socket-binding=*",
              "attributes" : [ {
                "name" : "interface",
                "value" : "private",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@interface"
              }, {
                "name" : "port",
                "value" : "54200",
                "_address" : "/socket-binding-group=*/socket-binding=*@@@port"
              } ]
            }
          }
        }
      },
      "subsystem" : {
        "distributable-web" : {
          "_address" : "/subsystem=distributable-web",
          "attributes" : [ {
            "name" : "default-session-management",
            "value" : "default",
            "_address" : "/subsystem=distributable-web@@@default-session-management"
          }, {
            "name" : "default-single-sign-on-management",
            "value" : "default",
            "_address" : "/subsystem=distributable-web@@@default-single-sign-on-management"
          } ],
          "infinispan-session-management" : {
            "default" : {
              "_address" : "/subsystem=distributable-web/infinispan-session-management=*",
              "attributes" : [ {
                "name" : "cache-container",
                "value" : "web",
                "_address" : "/subsystem=distributable-web/infinispan-session-management=*@@@cache-container"
              }, {
                "name" : "granularity",
                "value" : "SESSION",
                "_address" : "/subsystem=distributable-web/infinispan-session-management=*@@@granularity"
              } ],
              "affinity" : {
                "primary-owner" : {
                  "_address" : "/subsystem=distributable-web/infinispan-session-management=*/affinity=primary-owner"
                }
              }
            }
          },
          "infinispan-single-sign-on-management" : {
            "default" : {
              "_address" : "/subsystem=distributable-web/infinispan-single-sign-on-management=*",
              "attributes" : [ {
                "name" : "cache",
                "value" : "sso",
                "_address" : "/subsystem=distributable-web/infinispan-single-sign-on-management=*@@@cache"
              }, {
                "name" : "cache-container",
                "value" : "web",
                "_address" : "/subsystem=distributable-web/infinispan-single-sign-on-management=*@@@cache-container"
              } ]
            }
          },
          "routing" : {
            "infinispan" : {
              "_address" : "/subsystem=distributable-web/routing=infinispan",
              "attributes" : [ {
                "name" : "cache",
                "value" : "routing",
                "_address" : "/subsystem=distributable-web/routing=infinispan@@@cache"
              }, {
                "name" : "cache-container",
                "value" : "web",
                "_address" : "/subsystem=distributable-web/routing=infinispan@@@cache-container"
              } ]
            }
          }
        },
        "infinispan" : {
          "_address" : "/subsystem=infinispan",
          "cache-container" : {
            "web" : {
              "_address" : "/subsystem=infinispan/cache-container=*",
              "attributes" : [ {
                "name" : "default-cache",
                "value" : "dist",
                "_address" : "/subsystem=infinispan/cache-container=*@@@default-cache"
              }, {
                "name" : "marshaller",
                "value" : "PROTOSTREAM",
                "_address" : "/subsystem=infinispan/cache-container=*@@@marshaller"
              }, {
                "name" : "modules",
                "value" : "[org.wildfly.clustering.session.infinispan.embedded]",
                "_address" : "/subsystem=infinispan/cache-container=*@@@modules"
              } ],
              "distributed-cache" : {
                "dist" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=expiration@@@interval"
                      } ]
                    },
                    "locking" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=locking",
                      "attributes" : [ {
                        "name" : "isolation",
                        "value" : "REPEATABLE_READ",
                        "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=locking@@@isolation"
                      } ]
                    },
                    "transaction" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=transaction",
                      "attributes" : [ {
                        "name" : "mode",
                        "value" : "BATCH",
                        "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/component=transaction@@@mode"
                      } ]
                    }
                  },
                  "store" : {
                    "file" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/store=file",
                      "attributes" : [ {
                        "name" : "passivation",
                        "value" : "true",
                        "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/store=file@@@passivation"
                      }, {
                        "name" : "purge",
                        "value" : "true",
                        "_address" : "/subsystem=infinispan/cache-container=*/distributed-cache=*/store=file@@@purge"
                      } ]
                    }
                  }
                }
              },
              "replicated-cache" : {
                "routing" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=expiration@@@interval"
                      } ]
                    }
                  }
                },
                "sso" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=expiration@@@interval"
                      } ]
                    },
                    "locking" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=locking",
                      "attributes" : [ {
                        "name" : "isolation",
                        "value" : "REPEATABLE_READ",
                        "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=locking@@@isolation"
                      } ]
                    },
                    "transaction" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=transaction",
                      "attributes" : [ {
                        "name" : "mode",
                        "value" : "BATCH",
                        "_address" : "/subsystem=infinispan/cache-container=*/replicated-cache=*/component=transaction@@@mode"
                      } ]
                    }
                  }
                }
              },
              "transport" : {
                "jgroups" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/transport=jgroups",
                  "attributes" : [ {
                    "name" : "lock-timeout",
                    "value" : "60000",
                    "_address" : "/subsystem=infinispan/cache-container=*/transport=jgroups@@@lock-timeout"
                  } ]
                }
              }
            }
          }
        },
        "jgroups" : {
          "_address" : "/subsystem=jgroups",
          "attributes" : [ {
            "name" : "default-channel",
            "value" : "ee",
            "_address" : "/subsystem=jgroups@@@default-channel"
          } ],
          "channel" : {
            "ee" : {
              "_address" : "/subsystem=jgroups/channel=*",
              "attributes" : [ {
                "name" : "cluster",
                "value" : "ejb",
                "_address" : "/subsystem=jgroups/channel=*@@@cluster"
              }, {
                "name" : "stack",
                "value" : "udp",
                "_address" : "/subsystem=jgroups/channel=*@@@stack"
              } ]
            }
          },
          "stack" : {
            "tcp" : {
              "_address" : "/subsystem=jgroups/stack=*",
              "protocol" : {
                "FD_ALL3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "FRAG4" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MERGE3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MPING" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=MPING",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-mping",
                    "_address" : "/subsystem=jgroups/stack=*/protocol=MPING@@@socket-binding"
                  } ]
                },
                "RED" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UNICAST3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "VERIFY_SUSPECT2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.GMS" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.NAKACK2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.STABLE" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                }
              },
              "transport" : {
                "TCP" : {
                  "_address" : "/subsystem=jgroups/stack=*/transport=*",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-tcp",
                    "_address" : "/subsystem=jgroups/stack=*/transport=*@@@socket-binding"
                  } ]
                }
              }
            },
            "udp" : {
              "_address" : "/subsystem=jgroups/stack=*",
              "protocol" : {
                "FD_ALL3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "FD_SOCK2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=FD_SOCK2",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-udp-fd",
                    "_address" : "/subsystem=jgroups/stack=*/protocol=FD_SOCK2@@@socket-binding"
                  } ]
                },
                "FRAG4" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MERGE3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "MFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "PING" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "RED" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UFC" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "UNICAST3" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "VERIFY_SUSPECT2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.GMS" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.NAKACK2" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                },
                "pbcast.STABLE" : {
                  "_address" : "/subsystem=jgroups/stack=*/protocol=*"
                }
              },
              "transport" : {
                "UDP" : {
                  "_address" : "/subsystem=jgroups/stack=*/transport=*",
                  "attributes" : [ {
                    "name" : "socket-binding",
                    "value" : "jgroups-udp",
                    "_address" : "/subsystem=jgroups/stack=*/transport=*@@@socket-binding"
                  } ]
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- transactions - required
- web-server - required

#### Layer Properties

- org.wildfly.category = Clustering
- org.wildfly.description = Support for distributable web applications. Configures a non-local Infinispan-based container web cache for data session handling suitable to clustering environments.
- org.wildfly.rule.profile-ha = web-passivation

#### Packages

- org.jboss.as.clustering.infinispan
- org.jboss.as.clustering.jgroups
- org.wildfly.clustering.web.undertow
- org.wildfly.extension.clustering.server
- org.wildfly.extension.clustering.web

### web-console §

Support for loading the HAL web console from the /console context on the HTTP management interface.

#### Management Model

    {
      "core-service" : {
        "management" : {
          "_address" : "/core-service=management",
          "management-interface" : {
            "http-interface" : {
              "_address" : "/core-service=management/management-interface=http-interface",
              "attributes" : [ {
                "name" : "console-enabled",
                "value" : "true",
                "_address" : "/core-service=management/management-interface=http-interface@@@console-enabled"
              } ]
            }
          }
        }
      }
    }

#### Dependencies

- management - required

#### Layer Properties

- org.wildfly.category = Management
- org.wildfly.description = Support for loading the HAL web console from the /console context on the HTTP management interface.
- org.wildfly.rule.add-on = management,hal-web-console
- org.wildfly.rule.add-on-depends-on = all-dependencies
- org.wildfly.rule.add-on-description = Management Web console. Make sure to add an initial user.

#### Packages

- org.jboss.as.console
- org.jboss.as.domain-http-error-context

### web-passivation §

Support for distributable web applications. Configures a local Infinispan-based container web cache for data session handling suitable to single node environments.

#### Management Model

    {
      "subsystem" : {
        "distributable-web" : {
          "_address" : "/subsystem=distributable-web",
          "attributes" : [ {
            "name" : "default-session-management",
            "value" : "default",
            "_address" : "/subsystem=distributable-web@@@default-session-management"
          }, {
            "name" : "default-single-sign-on-management",
            "value" : "default",
            "_address" : "/subsystem=distributable-web@@@default-single-sign-on-management"
          } ],
          "infinispan-session-management" : {
            "default" : {
              "_address" : "/subsystem=distributable-web/infinispan-session-management=*",
              "attributes" : [ {
                "name" : "cache-container",
                "value" : "web",
                "_address" : "/subsystem=distributable-web/infinispan-session-management=*@@@cache-container"
              }, {
                "name" : "granularity",
                "value" : "SESSION",
                "_address" : "/subsystem=distributable-web/infinispan-session-management=*@@@granularity"
              } ],
              "affinity" : {
                "local" : {
                  "_address" : "/subsystem=distributable-web/infinispan-session-management=*/affinity=local"
                }
              }
            }
          },
          "infinispan-single-sign-on-management" : {
            "default" : {
              "_address" : "/subsystem=distributable-web/infinispan-single-sign-on-management=*",
              "attributes" : [ {
                "name" : "cache",
                "value" : "sso",
                "_address" : "/subsystem=distributable-web/infinispan-single-sign-on-management=*@@@cache"
              }, {
                "name" : "cache-container",
                "value" : "web",
                "_address" : "/subsystem=distributable-web/infinispan-single-sign-on-management=*@@@cache-container"
              } ]
            }
          },
          "routing" : {
            "local" : {
              "_address" : "/subsystem=distributable-web/routing=local"
            }
          }
        },
        "infinispan" : {
          "_address" : "/subsystem=infinispan",
          "cache-container" : {
            "web" : {
              "_address" : "/subsystem=infinispan/cache-container=*",
              "attributes" : [ {
                "name" : "default-cache",
                "value" : "passivation",
                "_address" : "/subsystem=infinispan/cache-container=*@@@default-cache"
              }, {
                "name" : "marshaller",
                "value" : "PROTOSTREAM",
                "_address" : "/subsystem=infinispan/cache-container=*@@@marshaller"
              }, {
                "name" : "modules",
                "value" : "[org.wildfly.clustering.web.infinispan]",
                "_address" : "/subsystem=infinispan/cache-container=*@@@modules"
              } ],
              "local-cache" : {
                "passivation" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration@@@interval"
                      } ]
                    }
                  },
                  "store" : {
                    "file" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/store=file",
                      "attributes" : [ {
                        "name" : "passivation",
                        "value" : "true",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/store=file@@@passivation"
                      } ]
                    }
                  }
                },
                "sso" : {
                  "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*",
                  "component" : {
                    "expiration" : {
                      "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration",
                      "attributes" : [ {
                        "name" : "interval",
                        "value" : "0",
                        "_address" : "/subsystem=infinispan/cache-container=*/local-cache=*/component=expiration@@@interval"
                      } ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }

#### Dependencies

- transactions - required
- web-server - required

#### Layer Properties

- org.wildfly.category = Clustering
- org.wildfly.description = Support for distributable web applications. Configures a local Infinispan-based container web cache for data session handling suitable to single node environments.
- org.wildfly.rule.xml-path = /WEB-INF/web.xml,/web-app/distributable

#### Packages

- org.jboss.as.clustering.infinispan
- org.wildfly.clustering.web.undertow
- org.wildfly.extension.clustering.server
- org.wildfly.extension.clustering.web

### web-server §

#### Management Model

    { }

#### Dependencies

- deployment-scanner - optional
- ee - required
- naming - required
- servlet - required

### webservices §

Support for Jakarta XML Web Services.

#### Management Model

    {
      "subsystem" : {
        "webservices" : {
          "_address" : "/subsystem=webservices",
          "attributes" : [ {
            "name" : "statistics-enabled",
            "value" : "${wildfly.webservices.statistics-enabled:${wildfly.statistics-enabled:false}}",
            "_address" : "/subsystem=webservices@@@statistics-enabled"
          }, {
            "name" : "wsdl-host",
            "value" : "${jboss.bind.address:127.0.0.1}",
            "_address" : "/subsystem=webservices@@@wsdl-host"
          } ],
          "client-config" : {
            "Standard-Client-Config" : {
              "_address" : "/subsystem=webservices/client-config=*"
            }
          },
          "endpoint-config" : {
            "Recording-Endpoint-Config" : {
              "_address" : "/subsystem=webservices/endpoint-config=*",
              "pre-handler-chain" : {
                "recording-handlers" : {
                  "_address" : "/subsystem=webservices/endpoint-config=*/pre-handler-chain=*",
                  "attributes" : [ {
                    "name" : "protocol-bindings",
                    "value" : "##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM",
                    "_address" : "/subsystem=webservices/endpoint-config=*/pre-handler-chain=*@@@protocol-bindings"
                  } ],
                  "handler" : {
                    "RecordingHandler" : {
                      "_address" : "/subsystem=webservices/endpoint-config=*/pre-handler-chain=*/handler=*",
                      "attributes" : [ {
                        "name" : "class",
                        "value" : "org.jboss.ws.common.invocation.RecordingServerHandler",
                        "_address" : "/subsystem=webservices/endpoint-config=*/pre-handler-chain=*/handler=*@@@class"
                      } ]
                    }
                  }
                }
              }
            },
            "Standard-Endpoint-Config" : {
              "_address" : "/subsystem=webservices/endpoint-config=*"
            }
          }
        }
      }
    }

#### Dependencies

- ejb-lite - optional
- messaging-activemq - optional
- web-server - required

#### Layer Properties

- org.wildfly.category = Jakarta EE
- org.wildfly.description = Support for Jakarta XML Web Services.
- org.wildfly.rule.annotations = jakarta.jws,jakarta.jws.soap,jakarta.xml.ws.*
- org.wildfly.rule.class = jakarta.xml.ws.*

#### Packages

- bin.wstools
- org.jboss.as.webservices
- org.jboss.as.webservices.server.integration
- org.jboss.ws.cxf.sts
- org.jboss.ws.saaj-impl
- org.jboss.ws.tools.common
- org.jboss.ws.tools.wsconsume
- org.jboss.ws.tools.wsprovide

## About

This feature pack is hosted at https://wildfly.org

Source code of this feature pack is hosted at https://github.com/wildfly/wildfly

This feature pack is licensed under:

- Apache License 2.0