Skip to content

Instantly share code, notes, and snippets.

View jsanda's full-sized avatar

John Sanda jsanda

View GitHub Profile
function findResourceType(plugin, resourceTypeName) {
var criteria = ResourceTypeCriteria();
criteria.strict = true;
criteria.addFilterPluginName(plugin);
criteria.addFilterName(resourceTypeName);
var types = ResourceTypeManager.findResourceTypesByCriteria(criteria);
if (types.size() > 0) {
return types.get(0);
}
user> (require '[rhq.plugin-container :as pc])
nil
user> (pc/start)
/Users/john/Development/clj-rhq/target
nil
user> (pc/running?)
true
user> (pc/stop)
nil
user> (pc/running?)
;; code for loading the namespace and starting the PC omitted for brevity
user> (def inventory-report (.. (pc/pc) getInventoryManager executeServerScanImmediately))
#'user/inventory-report
user> (def report (pc/discover :SERVER))
#'user/report
user> (count (.getAddedRoots report))
0
user> (pc/discover :SERVICE)
#'user/report
user> (count (.getAddedRoots report))
0
user> (def platform (pc/inventory))
#'user/platform
user> (str platform)
"Resource[id=-2, type=Mac OS X, key=169.254.129.92, name=169.254.129.92, parent=<null>, version=MacOSX 10.6.7]"
user> (count (pc/inventory {:availability :UP}))
62
user> (count (pc/inventory {:category :SERVICE}))
60
user> (count (pc/inventory {:category :SERVICE :availability :DOWN}))
1
(doc pc/availability)
-------------------------
rhq.plugin-container/availability
([r])
Returns the availability of a resource. Possible values are,
1) :UP
2) :DOWN
nil
<project name="eap_deploy"
default="main"
xmlns:rhq="antlib:org.rhq.bundle">
<rhq:bundle name="My Test App"
version="1.0"
description="A sample bundle consisting of EAP 5 with a deployed webapp">
<rhq:deployment-unit name="eap5"
postinstallTarget="start-jboss">
<rhq:archive name="jboss-eap-5.0.0.GA.zip"/>
</rhq:deployment-unit>
measurementModule = new MeasurementModule();
interval = measurementModule.interval;
time = measurementModule.time;
updates = {
context: 'Resource',
id: 10311,
schedules: {
'Transactions Committed per Minute': interval(30, time.minutes),
'Total Transactions': 'enabled',
measurementModule = new MeasurementModule();
interval = measurementModule.interval;
time = measurementModule.time;
updates = {
context: 'Resource',
id: 10311,
schedules: {
'Transactions Committed per Minute': interval(30, time.minutes),
'Total Transactions': 'enabled',
updates = {
context: 'Group',
id: 123,
schedules: {
'Measurement A': interval(1, time.hours),
'Measurement B': 'disabled'
rest: interval(30, time.minutes)
}
}