Default JMX Server Feature
- Overview
- Defining this Feature as a Dependency
- Enabling this Feature Provider
- Features Required by this Provider
- Optional Features Used by this Provider
- Configuration Schema
- Default Configuration
- Sample Configurations
Overview
Provides JMX Server functionality which may be used by dependent extensions to expose a management interface accessible via e.g. a jmx management console.
Defining this Feature as a Dependency
To define this feature as a dependency within your deployment, paste the following element into the dependencies section of your deployment's POM, making sure to populate the version tag with the desired version (check repository for the latest available version). Note that if the feature is optional, i.e. if it's not absolutely required by your extension, set optional to 'true'.
<dependency> <groupId>org.bluestemsoftware.open.eoa.ext.feature.jmx.server.dfault</groupId> <artifactId>jmx-server-default</artifactId> <version>VERSION</version> <scope>runtime</scope> <type>eoa-feature</type> <optional>false</optional> </dependency>
Enabling this Feature Provider
If no provider is specified when feature is enabled and more than one implementation exists, an arbitrary implementation is selected by the alakai server. Enabling this specific provider requires the following entry within your server.xml file:
<feature type="org.bluestemsoftware.specification.eoa.ext.feature.jmx.server.JMXServerFeature"> <provider impl="org.bluestemsoftware.open.eoa.ext.feature.jmx.server.dfault.JMXServerFeatureImpl"/> </feature>
Features Required by this Provider
The following features must be explicitly enabled to use this provider:
<feature type="org.bluestemsoftware.specification.eoa.ext.feature.rmi.RMIRegistryFeature"/>
Optional Features Used by this Provider
This feature will employ the following optional features if they are enabled:
<feature type="org.bluestemsoftware.specification.eoa.ext.feature.auth.jaas.LoginContextFeature"/>
Configuration Schema
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://bluestemsoftware.org/open/eoa/ext/feature/jmx/server/default/config/1.0" xmlns:tns="http://bluestemsoftware.org/open/eoa/ext/feature/jmx/server/default/config/1.0" elementFormDefault="qualified">
<xs:annotation>
<xs:documentation>Defines document instance which may be used to configure jmx server feature.</xs:documentation>
</xs:annotation>
<xs:element name="jmx">
<xs:complexType>
<xs:sequence>
<xs:element name="authentication" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="user" type="xs:NCName">
<xs:annotation>
<xs:documentation>Identifies authorized user. Password will be acquired from JAAS Login module installed by optional feature jaas-login-context.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="jaasConfiguration" type="xs:NCName" minOccurs="0">
<xs:annotation>
<xs:documentation>Identifies a specific JAAS configuration, i.e. app name, which will be used by server to create a LoginContext instance to authenticate inbound users. If unspecified, the default configuration 'other' will be used.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="enabled" type="xs:boolean" fixed="true">
<xs:annotation>
<xs:documentation>If authentication element is defined, this fixed attribute value signifies that connection requests will be authenticated. If optional parent element is omitted, no authentication will be performed.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Default Configuration
The following configuration is implied when no configuration is specified within 'provider' element:
<cfg:jmx xmlns:cfg="http://bluestemsoftware.org/open/eoa/ext/feature/jmx/server/default/config/1.0"> <cfg:authentication enabled="false"/> </cfg:jmx>
Sample Configurations
Note that the default configuration does not require authentication. To enable authentication, the following configuration may be specified (which requires that the login context feature and its required dependent feature, the credential store feature be explicitly enabled, e.g. with, according to this example, a user entry for 'sa' on 'myhost'}.
<cfg:jmx xmlns:cfg="http://bluestemsoftware.org/open/eoa/ext/feature/jmx/server/default/config/1.0">
<cfg:authentication enabled="true">
<cfg:user>sa</cfg:user>
<cfg:jaasConfiguration>other</cfg:jaasConfiguration>
</cfg:authentication>
</cfg:jmx>