modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/HornetQComponent.java
| 2
modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/TemplatedComponent.java
| 90 ++++++
modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/TemplatedSubResourcesComponent.java
| 72 +++++
modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ThreadPoolComponent.java
| 63 ----
modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ThreadsComponent.java
| 56 ---
modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml
| 143 +++++++---
6 files changed, 265 insertions(+), 161 deletions(-)
New commits:
commit ba758053aebffb25af2f35fab27a49ee1a942258
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: Fri Jun 1 10:11:31 2012 -0500
[BZ 826066] Path resource has now templates and a property to allow users to create
all four types.
Also, updated the code for templated AS7 resources to take into account either name or
type can be templated.
diff --git
a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/HornetQComponent.java
b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/HornetQComponent.java
index a289a1a..dad90bc 100644
---
a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/HornetQComponent.java
+++
b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/HornetQComponent.java
@@ -30,7 +30,7 @@ import org.rhq.core.pluginapi.inventory.CreateResourceReport;
* Component class for HornetQ related stuff
* @author Heiko W. Rupp
*/
-public class HornetQComponent extends BaseComponent {
+public class HornetQComponent extends TemplatedSubResourcesComponent {
@Override
public CreateResourceReport createResource(CreateResourceReport report) {
diff --git
a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/TemplatedComponent.java
b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/TemplatedComponent.java
new file mode 100644
index 0000000..ed07a8a
--- /dev/null
+++
b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/TemplatedComponent.java
@@ -0,0 +1,90 @@
+/*
+ * RHQ Management Platform
+ * Copyright 2012, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+package org.rhq.modules.plugins.jbossas7;
+
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.configuration.PropertySimple;
+import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
+import org.rhq.core.pluginapi.configuration.ConfigurationUpdateReport;
+import org.rhq.core.pluginapi.inventory.ResourceComponent;
+
+/**
+ * @author Stefan Negrea
+ *
+ */
+public class TemplatedComponent extends BaseComponent<ResourceComponent<?>>
{
+
+ private final static String TYPE_CONFIGURATION = "__type";
+ private final static String NAME_CONFIGURATION = "__name";
+
+ @Override
+ public Configuration loadResourceConfiguration() throws Exception {
+ ConfigurationDefinition configDef =
context.getResourceType().getResourceConfigurationDefinition();
+
+ if (configDef.getDefaultTemplate().getConfiguration().get(TYPE_CONFIGURATION) !=
null) {
+ //__type is a fake property, do not attempt to load it from the managed
server
+ configDef.getPropertyDefinitions().remove(TYPE_CONFIGURATION);
+ ConfigurationLoadDelegate delegate = new ConfigurationLoadDelegate(configDef,
getASConnection(), address);
+ Configuration configuration = delegate.loadResourceConfiguration();
+
+ //manually load type based on the resource path
+ PropertySimple pathProperty = (PropertySimple)
context.getPluginConfiguration().get("path");
+ String type = pathProperty.getStringValue();
+ type = type.substring(path.lastIndexOf(',') + 1,
type.lastIndexOf('='));
+ configuration.put(new PropertySimple(TYPE_CONFIGURATION, type));
+
+ return configuration;
+ } else if
(configDef.getDefaultTemplate().getConfiguration().get(NAME_CONFIGURATION) != null) {
+ //__name is a fake property, do not attempt to load it from the managed
server
+ configDef.getPropertyDefinitions().remove(NAME_CONFIGURATION);
+ ConfigurationLoadDelegate delegate = new ConfigurationLoadDelegate(configDef,
getASConnection(), address);
+ Configuration configuration = delegate.loadResourceConfiguration();
+
+ //manually load name based on the resource path
+ PropertySimple pathProperty = (PropertySimple)
context.getPluginConfiguration().get("path");
+ String name = pathProperty.getStringValue();
+ name = name.substring(name.lastIndexOf('=') + 1);
+ configuration.put(new PropertySimple(NAME_CONFIGURATION, name));
+
+ return configuration;
+ }
+
+ return super.loadResourceConfiguration();
+ }
+
+ @Override
+ public void updateResourceConfiguration(ConfigurationUpdateReport report) {
+ ConfigurationDefinition configDef =
context.getResourceType().getResourceConfigurationDefinition();
+
+ if (configDef.getDefaultTemplate().getConfiguration().get(TYPE_CONFIGURATION) !=
null) {
+ //__type is a fake property, do not attempt to save it.
+ configDef.getPropertyDefinitions().remove(TYPE_CONFIGURATION);
+ report.getConfiguration().remove(TYPE_CONFIGURATION);
+ } else if
(configDef.getDefaultTemplate().getConfiguration().get(NAME_CONFIGURATION) != null) {
+ //__name is a fake property, do not attempt to save it.
+ configDef.getPropertyDefinitions().remove(NAME_CONFIGURATION);
+ report.getConfiguration().remove(NAME_CONFIGURATION);
+ }
+
+ ConfigurationWriteDelegate delegate = new ConfigurationWriteDelegate(configDef,
getASConnection(), address);
+ delegate.updateResourceConfiguration(report);
+ }
+}
diff --git
a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/TemplatedSubResourcesComponent.java
b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/TemplatedSubResourcesComponent.java
new file mode 100644
index 0000000..0a9cf23
--- /dev/null
+++
b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/TemplatedSubResourcesComponent.java
@@ -0,0 +1,72 @@
+/*
+ * RHQ Management Platform
+ * Copyright 2012, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+package org.rhq.modules.plugins.jbossas7;
+
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.configuration.PropertySimple;
+import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
+import org.rhq.core.pluginapi.inventory.CreateResourceReport;
+import org.rhq.core.pluginapi.inventory.ResourceComponent;
+
+/**
+ * @author Stefan Negrea
+ *
+ */
+public class TemplatedSubResourcesComponent extends
BaseComponent<ResourceComponent<?>> {
+
+ private final static String TYPE_CONFIGURATION = "__type";
+ private final static String NAME_CONFIGURATION = "__name";
+
+ @Override
+ public CreateResourceReport createResource(CreateResourceReport report) {
+ if (report.getResourceConfiguration().get(TYPE_CONFIGURATION) != null) {
+ //Need to munge the report and configuration definition for with type in
configuration:
+ //1) Remove type from the properties and configuration.
+ //2) Update path to the selected type.
+ ConfigurationDefinition configDef =
report.getResourceType().getResourceConfigurationDefinition();
+ configDef.getPropertyDefinitions().remove(TYPE_CONFIGURATION);
+ CreateResourceDelegate delegate = new CreateResourceDelegate(configDef,
getASConnection(), address);
+
+ Configuration configuration = report.getResourceConfiguration();
+ PropertySimple typeProperty = (PropertySimple)
configuration.get(TYPE_CONFIGURATION);
+ configuration.remove(TYPE_CONFIGURATION);
+ report.getPluginConfiguration().put(new PropertySimple("path",
typeProperty.getStringValue()));
+
+ return delegate.createResource(report);
+ } else if (report.getResourceConfiguration().get(NAME_CONFIGURATION) != null) {
+ //Need to munge the report and configuration definition for with name in
configuration:
+ //1) Remove name from the properties and configuration.
+ //2) Update user specified name to the implicitly selected name.
+ ConfigurationDefinition configDef =
report.getResourceType().getResourceConfigurationDefinition();
+ configDef.getPropertyDefinitions().remove(NAME_CONFIGURATION);
+ CreateResourceDelegate delegate = new CreateResourceDelegate(configDef,
getASConnection(), address);
+
+ Configuration configuration = report.getResourceConfiguration();
+ PropertySimple nameProperty = (PropertySimple)
configuration.get(NAME_CONFIGURATION);
+ configuration.remove(NAME_CONFIGURATION);
+ report.setUserSpecifiedResourceName(nameProperty.getStringValue());
+
+ return delegate.createResource(report);
+ } else {
+ return super.createResource(report);
+ }
+ }
+}
diff --git
a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ThreadPoolComponent.java
b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ThreadPoolComponent.java
deleted file mode 100644
index 7fd478c..0000000
---
a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ThreadPoolComponent.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright 2012, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-package org.rhq.modules.plugins.jbossas7;
-
-import org.rhq.core.domain.configuration.Configuration;
-import org.rhq.core.domain.configuration.PropertySimple;
-import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
-import org.rhq.core.pluginapi.configuration.ConfigurationUpdateReport;
-import org.rhq.core.pluginapi.inventory.ResourceComponent;
-
-/**
- * @author Stefan Negrea
- *
- */
-public class ThreadPoolComponent extends BaseComponent<ResourceComponent<?>>
{
-
- @Override
- public Configuration loadResourceConfiguration() throws Exception {
- ConfigurationDefinition configDef =
context.getResourceType().getResourceConfigurationDefinition();
- //type is a fake property, do not attempt to load it from the managed server
- configDef.getPropertyDefinitions().remove("type");
- ConfigurationLoadDelegate delegate = new ConfigurationLoadDelegate(configDef,
getASConnection(), address);
- Configuration configuration = delegate.loadResourceConfiguration();
-
- //manually load type based on the resource path
- PropertySimple pathProperty = (PropertySimple)
context.getPluginConfiguration().get("path");
- String type = pathProperty.getStringValue();
- type = type.substring(path.lastIndexOf(',') + 1,
type.lastIndexOf('='));
- configuration.put(new PropertySimple("type", type));
-
- return configuration;
- }
-
- @Override
- public void updateResourceConfiguration(ConfigurationUpdateReport report) {
- ConfigurationDefinition configDef =
context.getResourceType().getResourceConfigurationDefinition();
- //type is a fake property, do not attempt to save it.
- configDef.getPropertyDefinitions().remove("type");
- ConfigurationWriteDelegate delegate = new ConfigurationWriteDelegate(configDef,
getASConnection(), address);
-
- //type is a fake property, do not attempt to save it.
- report.getConfiguration().remove("type");
- delegate.updateResourceConfiguration(report);
- }
-}
diff --git
a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ThreadsComponent.java
b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ThreadsComponent.java
deleted file mode 100644
index a215398..0000000
---
a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ThreadsComponent.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright 2012, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-package org.rhq.modules.plugins.jbossas7;
-
-import org.rhq.core.domain.configuration.Configuration;
-import org.rhq.core.domain.configuration.PropertySimple;
-import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
-import org.rhq.core.pluginapi.inventory.CreateResourceReport;
-import org.rhq.core.pluginapi.inventory.ResourceComponent;
-
-/**
- * @author Stefan Negrea
- *
- */
-public class ThreadsComponent extends BaseComponent<ResourceComponent<?>> {
-
- @Override
- public CreateResourceReport createResource(CreateResourceReport report) {
- if (report.getResourceType().getName().equals("ThreadPool")) {
- //Need to munge the report and configuration definition for ThreadPools:
- //1) Remove type from the properties and configuration.
- //2) Update path to the selected thread pool type.
- ConfigurationDefinition configDef =
report.getResourceType().getResourceConfigurationDefinition();
- configDef.getPropertyDefinitions().remove("type");
- CreateResourceDelegate delegate = new CreateResourceDelegate(configDef,
getASConnection(), address);
-
- Configuration configuration = report.getResourceConfiguration();
- PropertySimple threadPoolType = (PropertySimple)
configuration.get("type");
- configuration.remove("type");
- report.getPluginConfiguration().put(new PropertySimple("path",
threadPoolType.getStringValue()));
-
- return delegate.createResource(report);
- } else {
- return super.createResource(report);
- }
- }
-
-}
diff --git a/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml
b/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml
index dd36061..ec17e84 100644
--- a/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml
+++ b/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml
@@ -2931,7 +2931,7 @@
<service name="Threads (Managed Server)"
discovery="SubsystemDiscovery"
- class="ThreadsComponent"
+ class="TemplatedSubResourcesComponent"
singleton="true">
<plugin-configuration>
@@ -2963,8 +2963,9 @@
<service name="ThreadPool (Managed Server)"
discovery="SubsystemDiscovery"
- class="ThreadPoolComponent"
- description="A thread pool executor">
+ class="TemplatedComponent"
+ description="A thread pool executor"
+ createDeletePolicy="neither">
<plugin-configuration>
<c:simple-property name="path" readOnly="true"
default="bounded-queue-thread-pool|queueless-thread-pool|scheduled-thread-pool|unbounded-queue-thread-pool"/>
@@ -2978,15 +2979,15 @@
<metric property="task-count" description="The approximate
total number of tasks that have ever been scheduled for execution."/>
<resource-configuration>
- <c:map-property name="keepalive-time" readOnly="true"
description="Used to specify the amount of time that pool threads should be kept
running when idle; if not specified, threads will run until the executor is shut
down.">
- <c:simple-property name="time" required="true"
readOnly="true" type="long" description="The time"/>
- <c:simple-property name="unit" required="true"
readOnly="true" type="string" description="The time
unit"/>
+ <c:map-property name="keepalive-time" readOnly="false"
description="Used to specify the amount of time that pool threads should be kept
running when idle; if not specified, threads will run until the executor is shut
down.">
+ <c:simple-property name="time" required="true"
readOnly="false" type="long" description="The time"/>
+ <c:simple-property name="unit" required="true"
readOnly="false" type="string" description="The time
unit"/>
</c:map-property>
- <c:simple-property name="max-threads:expr"
required="true" type="string" readOnly="true"
displayName="Max Threads" description="The maximum thread pool
size."/>
+ <c:simple-property name="max-threads:expr"
required="true" type="string" readOnly="false"
displayName="Max Threads" description="The maximum thread pool
size."/>
<c:simple-property name="name" required="false"
type="string" readOnly="true" description="The name of the thread
pool."/>
- <c:simple-property name="thread-factory"
required="false" type="string" readOnly="true"
description="Specifies the name of a specific thread factory to use to create worker
threads. If not defined an appropriate default thread factory will be used."/>
+ <c:simple-property name="thread-factory"
required="false" type="string" readOnly="false"
description="Specifies the name of a specific thread factory to use to create worker
threads. If not defined an appropriate default thread factory will be used."/>
- <c:simple-property name="type" readOnly="true"
default="scheduled-thread-pool" displayName="Thread Pool Type"
description="Thread pool type">
+ <c:simple-property name="__type" readOnly="true"
default="scheduled-thread-pool" displayName="Thread Pool Type"
description="Thread pool type">
<c:property-options>
<c:option value="bounded-queue-thread-pool"/>
<c:option value="queueless-thread-pool"/>
@@ -2995,16 +2996,16 @@
</c:property-options>
</c:simple-property>
<c:template name="Bounded Queue Thread Pool"
description="Bounded Queue Thread Pool">
- <c:simple-property name="type" readOnly="true"
default="bounded-queue-thread-pool"/>
+ <c:simple-property name="__type" readOnly="true"
default="bounded-queue-thread-pool"/>
</c:template>
<c:template name="Queueless Thread Pool"
description="Queueless Thread Pool">
- <c:simple-property name="type" readOnly="true"
default="queueless-thread-pool"/>
+ <c:simple-property name="__type" readOnly="true"
default="queueless-thread-pool"/>
</c:template>
<c:template name="Scheduled Thread Pool"
description="Scheduled Thread Pool">
- <c:simple-property name="type" readOnly="true"
default="scheduled-thread-pool"/>
+ <c:simple-property name="__type" readOnly="true"
default="scheduled-thread-pool"/>
</c:template>
<c:template name="Unbounded Queue Thread Pool"
description="Unbounded Queue Thread Pool">
- <c:simple-property name="type" readOnly="true"
default="unbounded-queue-thread-pool"/>
+ <c:simple-property name="__type" readOnly="true"
default="unbounded-queue-thread-pool"/>
</c:template>
</resource-configuration>
</service>
@@ -4614,17 +4615,37 @@
<service name="Path (Managed Server)"
discovery="SubsystemDiscovery"
- class="BaseComponent"
- createDeletePolicy="neither"
- singleton="true">
+ class="TemplatedComponent"
+ createDeletePolicy="neither">
<plugin-configuration>
- <c:simple-property name="path" readOnly="true"
default="path=journal-directory"/>
+ <c:simple-property name="path" readOnly="true"
default="path"/>
</plugin-configuration>
<resource-configuration>
- <c:simple-property name="path" required="true"
type="string" readOnly="false" description="The actual filesystem
path. Treated as an absolute path, unless the 'relative-to'
attribute is specified, in which case the value is treated as relative to that path.
<p>If treated as an absolute path, the actual runtime pathname specified by
the value of this attribute will be determined as follows: </p>If
this value is already absolute, then the value is directly used. Otherwise the runtime
pathname is resolved in a system-dependent way. On UNIX systems, a relative
pathname is made absolute by resolving it against the current user directory. On Microsoft
Windows systems, a relative pathname is made absolute by resolving it against the current
directory of the drive named by the pathname, if any; if not, it is resolved against the
current user directory."/>
- <c:simple-property name="relative-to" required="false"
type="string" readOnly="false" description="The name of another
previously named path, or of one of the standard paths provided by the system. If
'relative-to' is provided, the value of the
'path' attribute is treated as relative to the path specified by this
attribute. The standard paths provided by the system
include:<ul><li>jboss.home - the root
directory of the JBoss AS distribution</li><li>user.home
- user's home directory</li><li>user.dir
- user's current working
directory</li><li>java.home - java installation
directory</li><li>jboss.server.base.dir - root
directory for an individual server
instance</li><li>jboss.server.data.dir - directory the
server will use for persistent data file
storage</li><li>jboss.server.log.dir - directory the
server will use for log file
storage</li><li>jboss.server.tmp.dir - directory the
server will use for temporary file
storage</li><li>jboss.domain.servers.dir - directory
under which a host controller will create the working area for individual server
instances</li></ul>"/>
+ <c:simple-property name="path" required="true"
type="string" readOnly="true" description="The actual filesystem
path. Treated as an absolute path, unless the 'relative-to'
attribute is specified, in which case the value is treated as relative to that path.
<p>If treated as an absolute path, the actual runtime pathname specified by
the value of this attribute will be determined as follows: </p>If
this value is already absolute, then the value is directly used. Otherwise the runtime
pathname is resolved in a system-dependent way. On UNIX systems, a relative
pathname is made absolute by resolving it against the current user directory. On Microsoft
Windows systems, a relative pathname is made absolute by resolving it against the current
directory of the drive named by the pathname, if any; if not, it is resolved against the
current user directory."/>
+ <c:simple-property name="relative-to" required="false"
type="string" readOnly="true" description="The name of another
previously named path, or of one of the standard paths provided by the system. If
'relative-to' is provided, the value of the
'path' attribute is treated as relative to the path specified by this
attribute. The standard paths provided by the system
include:<ul><li>jboss.home - the root
directory of the JBoss AS distribution</li><li>user.home
- user's home directory</li><li>user.dir
- user's current working
directory</li><li>java.home - java installation
directory</li><li>jboss.server.base.dir - root
directory for an individual server
instance</li><li>jboss.server.data.dir - directory the
server will use for persistent data file
storage</li><li>jboss.server.log.dir - directory the
server will use for log file
storage</li><li>jboss.server.tmp.dir - directory the
server will use for temporary file
storage</li><li>jboss.domain.servers.dir - directory
under which a host controller will create the working area for individual server
instances</li></ul>"/>
+
+ <c:simple-property name="__name" readOnly="true"
displayName="Path Type" description="Path Type">
+ <c:property-options>
+ <c:option value="journal-directory"/>
+ <c:option value="paging-directory"/>
+ <c:option value="large-messages-directory"/>
+ <c:option value="bindings-directory"/>
+ </c:property-options>
+ </c:simple-property>
+ <c:template name="Journal Directory" description="The
directory in which the message journal lives. The default is
${jboss.server.data.dir}/messaging/journal.">
+ <c:simple-property name="__name" readOnly="true"
default="journal-directory"/>
+ </c:template>
+ <c:template name="Paging Directory" description="The
directory where page files are stored. The default is
${jboss.server.data.dir}/messaging/paging.">
+ <c:simple-property name="__name" readOnly="true"
default="paging-directory"/>
+ </c:template>
+ <c:template name="Large Messages Directory"
description="The directory in which large messages are stored. The default is
${jboss.server.data.dir}/messaging/largemessages.">
+ <c:simple-property name="__name" readOnly="true"
default="large-messages-directory"/>
+ </c:template>
+ <c:template name="Bindings Directory" description="The
directory in which the bindings journal lives. The default is
${jboss.server.data.dir}/messaging/bindings.">
+ <c:simple-property name="__name" readOnly="true"
default="bindings-directory"/>
+ </c:template>
</resource-configuration>
</service>
@@ -5729,7 +5750,7 @@
<service name="Threads (Profile)"
discovery="SubsystemDiscovery"
- class="ThreadsComponent"
+ class="TemplatedSubResourcesComponent"
singleton="true">
<plugin-configuration>
@@ -5761,7 +5782,7 @@
<service name="ThreadPool (Profile)"
discovery="SubsystemDiscovery"
- class="ThreadPoolComponent"
+ class="TemplatedComponent"
description="A thread pool executor"
createDeletePolicy="both">
@@ -5778,7 +5799,7 @@
<c:simple-property name="name" required="false"
type="string" readOnly="true" description="The name of the thread
pool."/>
<c:simple-property name="thread-factory"
required="false" type="string" readOnly="false"
description="Specifies the name of a specific thread factory to use to create worker
threads. If not defined an appropriate default thread factory will be used."/>
- <c:simple-property name="type" readOnly="true"
default="scheduled-thread-pool" displayName="Thread Pool Type"
description="Thread pool type">
+ <c:simple-property name="__type" readOnly="true"
default="scheduled-thread-pool" displayName="Thread Pool Type"
description="Thread pool type">
<c:property-options>
<c:option value="bounded-queue-thread-pool"/>
<c:option value="queueless-thread-pool"/>
@@ -5787,16 +5808,16 @@
</c:property-options>
</c:simple-property>
<c:template name="Bounded Queue Thread Pool"
description="Bounded Queue Thread Pool">
- <c:simple-property name="type" readOnly="true"
default="bounded-queue-thread-pool"/>
+ <c:simple-property name="__type" readOnly="true"
default="bounded-queue-thread-pool"/>
</c:template>
<c:template name="Queueless Thread Pool"
description="Queueless Thread Pool">
- <c:simple-property name="type" readOnly="true"
default="queueless-thread-pool"/>
+ <c:simple-property name="__type" readOnly="true"
default="queueless-thread-pool"/>
</c:template>
<c:template name="Scheduled Thread Pool"
description="Scheduled Thread Pool">
- <c:simple-property name="type" readOnly="true"
default="scheduled-thread-pool"/>
+ <c:simple-property name="__type" readOnly="true"
default="scheduled-thread-pool"/>
</c:template>
<c:template name="Unbounded Queue Thread Pool"
description="Unbounded Queue Thread Pool">
- <c:simple-property name="type" readOnly="true"
default="unbounded-queue-thread-pool"/>
+ <c:simple-property name="__type" readOnly="true"
default="unbounded-queue-thread-pool"/>
</c:template>
</resource-configuration>
</service>
@@ -6659,17 +6680,37 @@
<service name="Path (Profile)"
discovery="SubsystemDiscovery"
- class="BaseComponent"
- createDeletePolicy="both"
- singleton="true">
+ class="TemplatedComponent"
+ createDeletePolicy="both">
<plugin-configuration>
- <c:simple-property name="path" readOnly="true"
default="path=journal-directory"/>
+ <c:simple-property name="path" readOnly="true"
default="path"/>
</plugin-configuration>
<resource-configuration>
<c:simple-property name="path" required="true"
type="string" readOnly="false" description="The actual filesystem
path. Treated as an absolute path, unless the 'relative-to'
attribute is specified, in which case the value is treated as relative to that path.
<p>If treated as an absolute path, the actual runtime pathname specified by
the value of this attribute will be determined as follows: </p>If
this value is already absolute, then the value is directly used. Otherwise the runtime
pathname is resolved in a system-dependent way. On UNIX systems, a relative
pathname is made absolute by resolving it against the current user directory. On Microsoft
Windows systems, a relative pathname is made absolute by resolving it against the current
directory of the drive named by the pathname, if any; if not, it is resolved against the
current user directory."/>
<c:simple-property name="relative-to" required="false"
type="string" readOnly="false" description="The name of another
previously named path, or of one of the standard paths provided by the system. If
'relative-to' is provided, the value of the
'path' attribute is treated as relative to the path specified by this
attribute. The standard paths provided by the system
include:<ul><li>jboss.home - the root
directory of the JBoss AS distribution</li><li>user.home
- user's home directory</li><li>user.dir
- user's current working
directory</li><li>java.home - java installation
directory</li><li>jboss.server.base.dir - root
directory for an individual server
instance</li><li>jboss.server.data.dir - directory the
server will use for persistent data file
storage</li><li>jboss.server.log.dir - directory the
server will use for log file
storage</li><li>jboss.server.tmp.dir - directory the
server will use for temporary file
storage</li><li>jboss.domain.servers.dir - directory
under which a host controller will create the working area for individual server
instances</li></ul>"/>
+
+ <c:simple-property name="__name" readOnly="true"
displayName="Path Type" description="Path Type">
+ <c:property-options>
+ <c:option value="journal-directory"/>
+ <c:option value="paging-directory"/>
+ <c:option value="large-messages-directory"/>
+ <c:option value="bindings-directory"/>
+ </c:property-options>
+ </c:simple-property>
+ <c:template name="Journal Directory" description="The
directory in which the message journal lives. The default is
${jboss.server.data.dir}/messaging/journal.">
+ <c:simple-property name="__name" readOnly="true"
default="journal-directory"/>
+ </c:template>
+ <c:template name="Paging Directory" description="The
directory where page files are stored. The default is
${jboss.server.data.dir}/messaging/paging.">
+ <c:simple-property name="__name" readOnly="true"
default="paging-directory"/>
+ </c:template>
+ <c:template name="Large Messages Directory"
description="The directory in which large messages are stored. The default is
${jboss.server.data.dir}/messaging/largemessages.">
+ <c:simple-property name="__name" readOnly="true"
default="large-messages-directory"/>
+ </c:template>
+ <c:template name="Bindings Directory" description="The
directory in which the bindings journal lives. The default is
${jboss.server.data.dir}/messaging/bindings.">
+ <c:simple-property name="__name" readOnly="true"
default="bindings-directory"/>
+ </c:template>
</resource-configuration>
</service>
@@ -10569,7 +10610,7 @@
<service name="Threads"
discovery="SubsystemDiscovery"
- class="ThreadsComponent"
+ class="TemplatedSubResourcesComponent"
singleton="true">
<runs-inside>
@@ -10605,7 +10646,7 @@
<service name="ThreadPool"
discovery="SubsystemDiscovery"
- class="ThreadPoolComponent"
+ class="TemplatedComponent"
description="A thread pool executor"
createDeletePolicy="both">
@@ -10629,7 +10670,7 @@
<c:simple-property name="name" required="false"
type="string" readOnly="true" description="The name of the thread
pool."/>
<c:simple-property name="thread-factory" required="false"
type="string" readOnly="false" description="Specifies the name of
a specific thread factory to use to create worker threads. If not defined an appropriate
default thread factory will be used."/>
- <c:simple-property name="type" readOnly="true"
default="scheduled-thread-pool" displayName="Thread Pool Type"
description="Thread pool type">
+ <c:simple-property name="__type" readOnly="true"
default="scheduled-thread-pool" displayName="Thread Pool Type"
description="Thread pool type">
<c:property-options>
<c:option value="bounded-queue-thread-pool"/>
<c:option value="queueless-thread-pool"/>
@@ -10638,16 +10679,16 @@
</c:property-options>
</c:simple-property>
<c:template name="Bounded Queue Thread Pool"
description="Bounded Queue Thread Pool">
- <c:simple-property name="type" readOnly="true"
default="bounded-queue-thread-pool"/>
+ <c:simple-property name="__type" readOnly="true"
default="bounded-queue-thread-pool"/>
</c:template>
<c:template name="Queueless Thread Pool" description="Queueless
Thread Pool">
- <c:simple-property name="type" readOnly="true"
default="queueless-thread-pool"/>
+ <c:simple-property name="__type" readOnly="true"
default="queueless-thread-pool"/>
</c:template>
<c:template name="Scheduled Thread Pool" description="Scheduled
Thread Pool">
- <c:simple-property name="type" readOnly="true"
default="scheduled-thread-pool"/>
+ <c:simple-property name="__type" readOnly="true"
default="scheduled-thread-pool"/>
</c:template>
<c:template name="Unbounded Queue Thread Pool"
description="Unbounded Queue Thread Pool">
- <c:simple-property name="type" readOnly="true"
default="unbounded-queue-thread-pool"/>
+ <c:simple-property name="__type" readOnly="true"
default="unbounded-queue-thread-pool"/>
</c:template>
</resource-configuration>
</service>
@@ -12674,17 +12715,37 @@
<service name="Path"
discovery="SubsystemDiscovery"
- class="BaseComponent"
- createDeletePolicy="both"
- singleton="true">
+ class="TemplatedComponent"
+ createDeletePolicy="both">
<plugin-configuration>
- <c:simple-property name="path" readOnly="true"
default="path=journal-directory"/>
+ <c:simple-property name="path" readOnly="true"
default="path"/>
</plugin-configuration>
<resource-configuration>
<c:simple-property name="path" required="true"
type="string" readOnly="false" description="The actual filesystem
path. Treated as an absolute path, unless the 'relative-to'
attribute is specified, in which case the value is treated as relative to that path.
<p>If treated as an absolute path, the actual runtime pathname specified by
the value of this attribute will be determined as follows: </p>If
this value is already absolute, then the value is directly used. Otherwise the runtime
pathname is resolved in a system-dependent way. On UNIX systems, a relative
pathname is made absolute by resolving it against the current user directory. On Microsoft
Windows systems, a relative pathname is made absolute by resolving it against the current
directory of the drive named by the pathname, if any; if not, it is resolved against the
current user directory."/>
<c:simple-property name="relative-to" required="false"
type="string" readOnly="false" description="The name of another
previously named path, or of one of the standard paths provided by the system. If
'relative-to' is provided, the value of the
'path' attribute is treated as relative to the path specified by this
attribute. The standard paths provided by the system
include:<ul><li>jboss.home - the root
directory of the JBoss AS distribution</li><li>user.home
- user's home directory</li><li>user.dir
- user's current working
directory</li><li>java.home - java installation
directory</li><li>jboss.server.base.dir - root
directory for an individual server
instance</li><li>jboss.server.data.dir - directory the
server will use for persistent data file
storage</li><li>jboss.server.log.dir - directory the
server will use for log file
storage</li><li>jboss.server.tmp.dir - directory the
server will use for temporary file
storage</li><li>jboss.domain.servers.dir - directory
under which a host controller will create the working area for individual server
instances</li></ul>"/>
+
+ <c:simple-property name="__name" readOnly="true"
displayName="Path Type" description="Path Type">
+ <c:property-options>
+ <c:option value="journal-directory"/>
+ <c:option value="paging-directory"/>
+ <c:option value="large-messages-directory"/>
+ <c:option value="bindings-directory"/>
+ </c:property-options>
+ </c:simple-property>
+ <c:template name="Journal Directory" description="The
directory in which the message journal lives. The default is
${jboss.server.data.dir}/messaging/journal.">
+ <c:simple-property name="__name" readOnly="true"
default="journal-directory"/>
+ </c:template>
+ <c:template name="Paging Directory" description="The
directory where page files are stored. The default is
${jboss.server.data.dir}/messaging/paging.">
+ <c:simple-property name="__name" readOnly="true"
default="paging-directory"/>
+ </c:template>
+ <c:template name="Large Messages Directory" description="The
directory in which large messages are stored. The default is
${jboss.server.data.dir}/messaging/largemessages.">
+ <c:simple-property name="__name" readOnly="true"
default="large-messages-directory"/>
+ </c:template>
+ <c:template name="Bindings Directory" description="The
directory in which the bindings journal lives. The default is
${jboss.server.data.dir}/messaging/bindings.">
+ <c:simple-property name="__name" readOnly="true"
default="bindings-directory"/>
+ </c:template>
</resource-configuration>
</service>