[prev in list] [next in list] [prev in thread] [next in thread] 

List:       rhq-devel
Subject:    AS7 plugin and threads subsystem
From:       Thomas Segismont <tsegismo () redhat ! com>
Date:       2013-02-07 17:27:03
Message-ID: 5113E3E7.90205 () redhat ! com
[Download RAW message or body]

Hi,

Recently a user asked on the forum how he could monitor "active 
connections" on a AS7 web connector. Currently there is no exposed 
property in the JBoss Web subsystem and the only way to do so is:

1. to create a thread pool in the Threads subsystem and set this thread 
pool as "executor" in the connector configuration.
2. to schedule measurement of the "active-count" metric of the thread 
pool resource

As I was looking for a solution I found that:

* there are actually 6 thread pool types available in AS7
* RHQ lets you create only 4 of them
* among these 4 types only two of them expose an "active-count" attribute
* AS7 plugin define a unique set of metrics and resource configuration 
properties regardless of the underlying thread pool type.

You will find attached:

* a spreadsheet with all AS7 thread pool types, their management 
attributes and the parameters you can supply to create them
* a text file I got from JBoss CLI to create the spreadsheet (modified 
to keep only the part we're interested in here).

Not listed in the spreadsheet is a new attribute for thread pools with 
queues (see https://issues.jboss.org/browse/AS7-5448). This one may me 
monitored when the active-count attribute is not available.

I think we should let users create all types of thread pools and provide 
dedicated metrics and resource configuration properties for each of them.

At some point in the future, the thread subsystem may be removed (see 
http://lists.jboss.org/pipermail/jboss-as7-dev/2013-February/007522.html). 
We may follow this closely as JBoss web (and others subsystems) will 
then define their own attributes and operations.

What's your opinion?

Thanks and regards,
Thomas



["threadpools.ods" (application/vnd.oasis.opendocument.spreadsheet)]
["threads-subsytem.txt" (text/plain)]

{
    "outcome" => "success",
    "result" => {
        "description" => "The threading subsystem, used to declare manageable thread \
pools and resources.",  "attributes" => {},
        "operations" => {},
        "children" => {
            "bounded-queue-thread-pool" => {
                "description" => "A set of thread pools where tasks are stored in a \
bounded-size queue and where if no space is available in the queue tasks will either \
be discarded or passed off to another 'handoff-executor' for execution.",  \
"model-description" => {"*" => {  "description" => "A thread pool executor with a \
bounded queue where threads submittings tasks will not block. Such a thread pool has \
a core and maximum size and a specified queue length.  When a task is submitted, if \
the number of running threads is less than the core size, a new thread is created.  \
Otherwise, if there is room in the queue, the task is enqueued. Otherwise, if the \
number of running threads is less than the maximum size, a new thread is created. \
Otherwise, the task is handed off to the designated handoff executor, if one is \
specified.  Otherwise, the task is discarded.",  "attributes" => {
                        "core-threads" => {
                            "type" => INT,
                            "description" => "The core thread pool size which is \
smaller than the maximum pool size. If undefined, the core thread pool size is the \
same as the maximum thread pool size.",  "expressions-allowed" => true,
                            "nillable" => true,
                            "min" => 0L,
                            "max" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        },
                        "current-thread-count" => {
                            "type" => INT,
                            "description" => "The current number of threads in the \
pool.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "largest-thread-count" => {
                            "type" => INT,
                            "description" => "The largest number of threads that have \
ever simultaneously been in the pool.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "keepalive-time" => {
                            "type" => OBJECT,
                            "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.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "value-type" => {
                                "time" => {
                                    "type" => LONG,
                                    "required" => true,
                                    "description" => "The time"
                                },
                                "unit" => {
                                    "type" => STRING,
                                    "required" => true,
                                    "description" => "The time unit"
                                }
                            },
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        },
                        "thread-factory" => {
                            "type" => STRING,
                            "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.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "all-services"
                        },
                        "queue-length" => {
                            "type" => INT,
                            "description" => "The queue length.",
                            "expressions-allowed" => true,
                            "nillable" => false,
                            "min" => 0L,
                            "max" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "all-services"
                        },
                        "handoff-executor" => {
                            "type" => STRING,
                            "description" => "An executor to delegate tasks to in the \
event that a task cannot be accepted. If not specified, tasks that cannot be accepted \
will be silently discarded.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "all-services"
                        },
                        "max-threads" => {
                            "type" => INT,
                            "description" => "The maximum thread pool size.",
                            "expressions-allowed" => true,
                            "nillable" => false,
                            "min" => 0L,
                            "max" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        },
                        "name" => {
                            "type" => STRING,
                            "description" => "The name of the thread pool.",
                            "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-only",
                            "storage" => "configuration"
                        },
                        "rejected-count" => {
                            "type" => INT,
                            "description" => "The number of tasks that have been \
passed to the handoff-executor (if one is specified) or discarded.",  \
"expressions-allowed" => false,  "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "allow-core-timeout" => {
                            "type" => BOOLEAN,
                            "description" => "Whether core threads may time out.",
                            "expressions-allowed" => false,
                            "nillable" => true,
                            "default" => false,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        }
                    },
                    "operations" => {
                        "add" => {
                            "operation-name" => "add",
                            "description" => "Adds a bounded queue thread pool.",
                            "request-properties" => {
                                "core-threads" => {
                                    "type" => INT,
                                    "description" => "The core thread pool size which \
is smaller than the maximum pool size. If undefined, the core thread pool size is the \
same as the maximum thread pool size.",  "expressions-allowed" => true,
                                    "required" => false,
                                    "nillable" => true,
                                    "min" => 0L,
                                    "max" => 2147483647L
                                },
                                "keepalive-time" => {
                                    "type" => OBJECT,
                                    "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.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "value-type" => {
                                        "time" => {
                                            "type" => LONG,
                                            "required" => true,
                                            "description" => "The time"
                                        },
                                        "unit" => {
                                            "type" => STRING,
                                            "required" => true,
                                            "description" => "The time unit"
                                        }
                                    }
                                },
                                "thread-factory" => {
                                    "type" => STRING,
                                    "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.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "queue-length" => {
                                    "type" => INT,
                                    "description" => "The queue length.",
                                    "expressions-allowed" => true,
                                    "required" => true,
                                    "nillable" => false,
                                    "min" => 0L,
                                    "max" => 2147483647L
                                },
                                "handoff-executor" => {
                                    "type" => STRING,
                                    "description" => "An executor to delegate tasks \
to in the event that a task cannot be accepted. If not specified, tasks that cannot \
be accepted will be silently discarded.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "max-threads" => {
                                    "type" => INT,
                                    "description" => "The maximum thread pool size.",
                                    "expressions-allowed" => true,
                                    "required" => true,
                                    "nillable" => false,
                                    "min" => 0L,
                                    "max" => 2147483647L
                                },
                                "name" => {
                                    "type" => STRING,
                                    "description" => "The name of the thread pool.",
                                    "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "allow-core-timeout" => {
                                    "type" => BOOLEAN,
                                    "description" => "Whether core threads may time \
out.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true
                                }
                            },
                            "reply-properties" => {}
                        },
                    },
                    "children" => {}
                }}
            },
            "queueless-thread-pool" => {
                "description" => "A set of thread pools where are not queued and \
where if no pool thread is available to handle a task the tasks will either be \
discarded or passed off to another 'handoff-executor' for execution.",  \
"model-description" => {"*" => {  "description" => "A thread pool executor with no \
queue where threads submittings tasks will not block.  When a task is submitted, if \
the number of running threads is less than the maximum size, a new thread is created. \
Otherwise, the task is handed off to the designated handoff executor, if one is \
specified.  Otherwise, the task is discarded.",  "attributes" => {
                        "thread-factory" => {
                            "type" => STRING,
                            "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.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "all-services"
                        },
                        "handoff-executor" => {
                            "type" => STRING,
                            "description" => "An executor to delegate tasks to in the \
event that a task cannot be accepted. If not specified, tasks that cannot be accepted \
will be silently discarded.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "all-services"
                        },
                        "max-threads" => {
                            "type" => INT,
                            "description" => "The maximum thread pool size.",
                            "expressions-allowed" => true,
                            "nillable" => false,
                            "min" => 0L,
                            "max" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        },
                        "name" => {
                            "type" => STRING,
                            "description" => "The name of the thread pool.",
                            "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-only",
                            "storage" => "configuration"
                        },
                        "current-thread-count" => {
                            "type" => INT,
                            "description" => "The current number of threads in the \
pool.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "rejected-count" => {
                            "type" => INT,
                            "description" => "The number of tasks that have been \
passed to the handoff-executor (if one is specified) or discarded.",  \
"expressions-allowed" => false,  "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "largest-thread-count" => {
                            "type" => INT,
                            "description" => "The largest number of threads that have \
ever simultaneously been in the pool.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "keepalive-time" => {
                            "type" => OBJECT,
                            "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.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "value-type" => {
                                "time" => {
                                    "type" => LONG,
                                    "required" => true,
                                    "description" => "The time"
                                },
                                "unit" => {
                                    "type" => STRING,
                                    "required" => true,
                                    "description" => "The time unit"
                                }
                            },
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        }
                    },
                    "operations" => {
                        "add" => {
                            "operation-name" => "add",
                            "description" => "Adds a queueless thread pool.",
                            "request-properties" => {
                                "thread-factory" => {
                                    "type" => STRING,
                                    "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.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "handoff-executor" => {
                                    "type" => STRING,
                                    "description" => "An executor to delegate tasks \
to in the event that a task cannot be accepted. If not specified, tasks that cannot \
be accepted will be silently discarded.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "max-threads" => {
                                    "type" => INT,
                                    "description" => "The maximum thread pool size.",
                                    "expressions-allowed" => true,
                                    "required" => true,
                                    "nillable" => false,
                                    "min" => 0L,
                                    "max" => 2147483647L
                                },
                                "name" => {
                                    "type" => STRING,
                                    "description" => "The name of the thread pool.",
                                    "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "keepalive-time" => {
                                    "type" => OBJECT,
                                    "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.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "value-type" => {
                                        "time" => {
                                            "type" => LONG,
                                            "required" => true,
                                            "description" => "The time"
                                        },
                                        "unit" => {
                                            "type" => STRING,
                                            "required" => true,
                                            "description" => "The time unit"
                                        }
                                    }
                                }
                            },
                            "reply-properties" => {}
                        },
                    },
                    "children" => {}
                }}
            },
            "unbounded-queue-thread-pool" => {
                "description" => "A set of thread pools where tasks are stored in a \
queue with no maximum size.",  "model-description" => {"*" => {
                    "description" => "A thread pool executor with an unbounded queue. \
Such a thread pool has a core size and a queue with no upper bound.  When a task is \
submitted, if the number of running threads is less than the core size, a new thread \
is created.  Otherwise, the task is placed in queue.  If too many tasks are allowed \
to be submitted to this type of executor, an out of memory condition may occur.",  \
"attributes" => {  "active-count" => {
                            "type" => INT,
                            "description" => "The approximate number of threads that \
are actively executing tasks.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "current-thread-count" => {
                            "type" => INT,
                            "description" => "The current number of threads in the \
pool.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "task-count" => {
                            "type" => INT,
                            "description" => "The approximate total number of tasks \
that have ever been scheduled for execution.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "largest-thread-count" => {
                            "type" => INT,
                            "description" => "The largest number of threads that have \
ever simultaneously been in the pool.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "keepalive-time" => {
                            "type" => OBJECT,
                            "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.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "value-type" => {
                                "time" => {
                                    "type" => LONG,
                                    "required" => true,
                                    "description" => "The time"
                                },
                                "unit" => {
                                    "type" => STRING,
                                    "required" => true,
                                    "description" => "The time unit"
                                }
                            },
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        },
                        "thread-factory" => {
                            "type" => STRING,
                            "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.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "all-services"
                        },
                        "completed-task-count" => {
                            "type" => INT,
                            "description" => "The approximate total number of tasks \
that have completed execution.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "max-threads" => {
                            "type" => INT,
                            "description" => "The maximum thread pool size.",
                            "expressions-allowed" => true,
                            "nillable" => false,
                            "min" => 0L,
                            "max" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        },
                        "name" => {
                            "type" => STRING,
                            "description" => "The name of the thread pool.",
                            "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-only",
                            "storage" => "configuration"
                        },
                        "rejected-count" => {
                            "type" => INT,
                            "description" => "The number of tasks that have been \
rejected.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        }
                    },
                    "operations" => {
                        "add" => {
                            "operation-name" => "add",
                            "description" => "Adds an unbounded thread pool.",
                            "request-properties" => {
                                "keepalive-time" => {
                                    "type" => OBJECT,
                                    "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.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "value-type" => {
                                        "time" => {
                                            "type" => LONG,
                                            "required" => true,
                                            "description" => "The time"
                                        },
                                        "unit" => {
                                            "type" => STRING,
                                            "required" => true,
                                            "description" => "The time unit"
                                        }
                                    }
                                },
                                "thread-factory" => {
                                    "type" => STRING,
                                    "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.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "max-threads" => {
                                    "type" => INT,
                                    "description" => "The maximum thread pool size.",
                                    "expressions-allowed" => true,
                                    "required" => true,
                                    "nillable" => false,
                                    "min" => 0L,
                                    "max" => 2147483647L
                                },
                                "name" => {
                                    "type" => STRING,
                                    "description" => "The name of the thread pool.",
                                    "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                }
                            },
                            "reply-properties" => {}
                        },
                    },
                    "children" => {}
                }}
            },
            "thread-factory" => {
                "description" => "A set of thread factories.",
                "model-description" => {"*" => {
                    "description" => "A thread factory (implementing \
java.util.concurrent.ThreadFactory).",  "attributes" => {
                        "thread-name-pattern" => {
                            "type" => STRING,
                            "description" => "The template used to create names for \
threads.  The following patterns may be used:  %% - emit a percent sign
	%t - emit the per-factory thread sequence number
	%g - emit the global thread sequence number
	%f - emit the factory sequence number
	%i - emit the thread ID.",
                            "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        },
                        "group-name" => {
                            "type" => STRING,
                            "description" => "Specifies the name of a  thread group \
to create for this thread factory.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        },
                        "priority" => {
                            "type" => INT,
                            "description" => "May be used to specify the thread \
priority of created threads.",  "expressions-allowed" => true,
                            "nillable" => true,
                            "default" => -1,
                            "min" => -1L,
                            "max" => 10L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        },
                        "name" => {
                            "type" => STRING,
                            "description" => "The name of the created thread \
factory.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-only",
                            "storage" => "configuration"
                        }
                    },
                    "operations" => {
                        "add" => {
                            "operation-name" => "add",
                            "description" => "Adds a thread factory",
                            "request-properties" => {
                                "thread-name-pattern" => {
                                    "type" => STRING,
                                    "description" => "The template used to create \
names for threads.  The following patterns may be used:  %% - emit a percent sign
	%t - emit the per-factory thread sequence number
	%g - emit the global thread sequence number
	%f - emit the factory sequence number
	%i - emit the thread ID.",
                                    "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "group-name" => {
                                    "type" => STRING,
                                    "description" => "Specifies the name of a  thread \
group to create for this thread factory.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "priority" => {
                                    "type" => INT,
                                    "description" => "May be used to specify the \
thread priority of created threads.",  "expressions-allowed" => true,
                                    "required" => false,
                                    "nillable" => true,
                                    "min" => -1L,
                                    "max" => 10L
                                },
                                "name" => {
                                    "type" => STRING,
                                    "description" => "The name of the created thread \
factory.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                }
                            },
                            "reply-properties" => {}
                        },
                    },
                    "children" => {}
                }}
            },
            "blocking-bounded-queue-thread-pool" => {
                "description" => "A set of thread pools where tasks are stored in a \
bounded-size queue and where threads submitting tasks will block until space is \
available in the queue.",  "model-description" => {"*" => {
                    "description" => "A thread pool executor with a bounded queue \
where threads submittings tasks may block. Such a thread pool has a core and maximum \
size and a specified queue length.  When a task is submitted, if the number of \
running threads is less than the core size, a new thread is created.  Otherwise, if \
there is room in the queue, the task is enqueued. Otherwise, if the number of running \
threads is less than the maximum size, a new thread is created. Otherwise, the caller \
blocks until room becomes available in the queue.",  "attributes" => {
                        "core-threads" => {
                            "type" => INT,
                            "description" => "The core thread pool size which is \
smaller than the maximum pool size. If undefined, the core thread pool size is the \
same as the maximum thread pool size.",  "expressions-allowed" => true,
                            "nillable" => true,
                            "min" => 0L,
                            "max" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        },
                        "current-thread-count" => {
                            "type" => INT,
                            "description" => "The current number of threads in the \
pool.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "largest-thread-count" => {
                            "type" => INT,
                            "description" => "The largest number of threads that have \
ever simultaneously been in the pool.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "keepalive-time" => {
                            "type" => OBJECT,
                            "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.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "value-type" => {
                                "time" => {
                                    "type" => LONG,
                                    "required" => true,
                                    "description" => "The time"
                                },
                                "unit" => {
                                    "type" => STRING,
                                    "required" => true,
                                    "description" => "The time unit"
                                }
                            },
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        },
                        "thread-factory" => {
                            "type" => STRING,
                            "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.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "all-services"
                        },
                        "queue-length" => {
                            "type" => INT,
                            "description" => "The queue length.",
                            "expressions-allowed" => true,
                            "nillable" => false,
                            "min" => 0L,
                            "max" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "all-services"
                        },
                        "max-threads" => {
                            "type" => INT,
                            "description" => "The maximum thread pool size.",
                            "expressions-allowed" => true,
                            "nillable" => false,
                            "min" => 0L,
                            "max" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        },
                        "name" => {
                            "type" => STRING,
                            "description" => "The name of the thread pool.",
                            "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-only",
                            "storage" => "configuration"
                        },
                        "rejected-count" => {
                            "type" => INT,
                            "description" => "The number of tasks that have been \
passed to the handoff-executor (if one is specified) or discarded.",  \
"expressions-allowed" => false,  "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "allow-core-timeout" => {
                            "type" => BOOLEAN,
                            "description" => "Whether core threads may time out.",
                            "expressions-allowed" => false,
                            "nillable" => true,
                            "default" => false,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        }
                    },
                    "operations" => {
                        "add" => {
                            "operation-name" => "add",
                            "description" => "Adds a blocking bounded queue thread \
pool.",  "request-properties" => {
                                "core-threads" => {
                                    "type" => INT,
                                    "description" => "The core thread pool size which \
is smaller than the maximum pool size. If undefined, the core thread pool size is the \
same as the maximum thread pool size.",  "expressions-allowed" => true,
                                    "required" => false,
                                    "nillable" => true,
                                    "min" => 0L,
                                    "max" => 2147483647L
                                },
                                "keepalive-time" => {
                                    "type" => OBJECT,
                                    "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.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "value-type" => {
                                        "time" => {
                                            "type" => LONG,
                                            "required" => true,
                                            "description" => "The time"
                                        },
                                        "unit" => {
                                            "type" => STRING,
                                            "required" => true,
                                            "description" => "The time unit"
                                        }
                                    }
                                },
                                "thread-factory" => {
                                    "type" => STRING,
                                    "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.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "queue-length" => {
                                    "type" => INT,
                                    "description" => "The queue length.",
                                    "expressions-allowed" => true,
                                    "required" => true,
                                    "nillable" => false,
                                    "min" => 0L,
                                    "max" => 2147483647L
                                },
                                "max-threads" => {
                                    "type" => INT,
                                    "description" => "The maximum thread pool size.",
                                    "expressions-allowed" => true,
                                    "required" => true,
                                    "nillable" => false,
                                    "min" => 0L,
                                    "max" => 2147483647L
                                },
                                "name" => {
                                    "type" => STRING,
                                    "description" => "The name of the thread pool.",
                                    "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "allow-core-timeout" => {
                                    "type" => BOOLEAN,
                                    "description" => "Whether core threads may time \
out.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true
                                }
                            },
                            "reply-properties" => {}
                        },
                    },
                    "children" => {}
                }}
            },
            "blocking-queueless-thread-pool" => {
                "description" => "A set of thread pools where are not queued and \
where threads submitting tasks will block until a pool thread is available to execute \
the task.",  "model-description" => {"*" => {
                    "description" => "A thread pool executor with no queue where \
threads submittings tasks may block.  When a task is submitted, if the number of \
running threads is less than the maximum size, a new thread is created.  Otherwise, \
the caller blocks until another thread completes its task and accepts the new one.",  \
"attributes" => {  "thread-factory" => {
                            "type" => STRING,
                            "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.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "all-services"
                        },
                        "current-thread-count" => {
                            "type" => INT,
                            "description" => "The current number of threads in the \
pool.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "max-threads" => {
                            "type" => INT,
                            "description" => "The maximum thread pool size.",
                            "expressions-allowed" => true,
                            "nillable" => false,
                            "min" => 0L,
                            "max" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        },
                        "name" => {
                            "type" => STRING,
                            "description" => "The name of the thread pool.",
                            "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-only",
                            "storage" => "configuration"
                        },
                        "rejected-count" => {
                            "type" => INT,
                            "description" => "The number of tasks that have been \
passed to the handoff-executor (if one is specified) or discarded.",  \
"expressions-allowed" => false,  "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "largest-thread-count" => {
                            "type" => INT,
                            "description" => "The largest number of threads that have \
ever simultaneously been in the pool.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "keepalive-time" => {
                            "type" => OBJECT,
                            "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.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "value-type" => {
                                "time" => {
                                    "type" => LONG,
                                    "required" => true,
                                    "description" => "The time"
                                },
                                "unit" => {
                                    "type" => STRING,
                                    "required" => true,
                                    "description" => "The time unit"
                                }
                            },
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        }
                    },
                    "operations" => {
                        "add" => {
                            "operation-name" => "add",
                            "description" => "Adds a blocking queueless thread \
pool.",  "request-properties" => {
                                "thread-factory" => {
                                    "type" => STRING,
                                    "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.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "max-threads" => {
                                    "type" => INT,
                                    "description" => "The maximum thread pool size.",
                                    "expressions-allowed" => true,
                                    "required" => true,
                                    "nillable" => false,
                                    "min" => 0L,
                                    "max" => 2147483647L
                                },
                                "name" => {
                                    "type" => STRING,
                                    "description" => "The name of the thread pool.",
                                    "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "keepalive-time" => {
                                    "type" => OBJECT,
                                    "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.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "value-type" => {
                                        "time" => {
                                            "type" => LONG,
                                            "required" => true,
                                            "description" => "The time"
                                        },
                                        "unit" => {
                                            "type" => STRING,
                                            "required" => true,
                                            "description" => "The time unit"
                                        }
                                    }
                                }
                            },
                            "reply-properties" => {}
                        },
                    },
                    "children" => {}
                }}
            },
            "scheduled-thread-pool" => {
                "description" => "A set of scheduled thread pools.",
                "model-description" => {"*" => {
                    "description" => "A scheduled thread pool executor.",
                    "attributes" => {
                        "thread-factory" => {
                            "type" => STRING,
                            "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.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "all-services"
                        },
                        "active-count" => {
                            "type" => INT,
                            "description" => "The approximate number of threads that \
are actively executing tasks.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "completed-task-count" => {
                            "type" => INT,
                            "description" => "The approximate total number of tasks \
that have completed execution.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "current-thread-count" => {
                            "type" => INT,
                            "description" => "The current number of threads in the \
pool.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "max-threads" => {
                            "type" => INT,
                            "description" => "The maximum thread pool size.",
                            "expressions-allowed" => true,
                            "nillable" => false,
                            "min" => 0L,
                            "max" => 2147483647L,
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        },
                        "name" => {
                            "type" => STRING,
                            "description" => "The name of the thread pool.",
                            "expressions-allowed" => false,
                            "nillable" => true,
                            "min-length" => 1L,
                            "max-length" => 2147483647L,
                            "access-type" => "read-only",
                            "storage" => "configuration"
                        },
                        "task-count" => {
                            "type" => INT,
                            "description" => "The approximate total number of tasks \
that have ever been scheduled for execution.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "largest-thread-count" => {
                            "type" => INT,
                            "description" => "The largest number of threads that have \
ever simultaneously been in the pool.",  "expressions-allowed" => false,
                            "nillable" => false,
                            "access-type" => "metric",
                            "storage" => "runtime"
                        },
                        "keepalive-time" => {
                            "type" => OBJECT,
                            "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.",  "expressions-allowed" => false,
                            "nillable" => true,
                            "value-type" => {
                                "time" => {
                                    "type" => LONG,
                                    "required" => true,
                                    "description" => "The time"
                                },
                                "unit" => {
                                    "type" => STRING,
                                    "required" => true,
                                    "description" => "The time unit"
                                }
                            },
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        }
                    },
                    "operations" => {
                        "add" => {
                            "operation-name" => "add",
                            "description" => "Adds a queueless thread pool.",
                            "request-properties" => {
                                "thread-factory" => {
                                    "type" => STRING,
                                    "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.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "max-threads" => {
                                    "type" => INT,
                                    "description" => "The maximum thread pool size.",
                                    "expressions-allowed" => true,
                                    "required" => true,
                                    "nillable" => false,
                                    "min" => 0L,
                                    "max" => 2147483647L
                                },
                                "name" => {
                                    "type" => STRING,
                                    "description" => "The name of the thread pool.",
                                    "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "min-length" => 1L,
                                    "max-length" => 2147483647L
                                },
                                "keepalive-time" => {
                                    "type" => OBJECT,
                                    "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.",  "expressions-allowed" => false,
                                    "required" => false,
                                    "nillable" => true,
                                    "value-type" => {
                                        "time" => {
                                            "type" => LONG,
                                            "required" => true,
                                            "description" => "The time"
                                        },
                                        "unit" => {
                                            "type" => STRING,
                                            "required" => true,
                                            "description" => "The time unit"
                                        }
                                    }
                                }
                            },
                            "reply-properties" => {}
                        },
                    },
                    "children" => {}
                }}
            }
        }
    }
}


[Attachment #5 (text/plain)]

_______________________________________________
rhq-devel mailing list
rhq-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/rhq-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic