System.exit(1);
}
System.out.println("Creating Query for objects whose name property has a value that starts with 'a'");
SubscribeParams params;
QmfQuery query = new QmfQuery(QmfQueryTarget.OBJECT, "['re_match', 'name', ['quote', '^a']]");
// Create a subscription, response returned synchronously
params = _console.createSubscription(_broker, query, "consoleHandle1", "{publishInterval:5}");
System.out.println("duration = " + params.getLifetime());
System.out.println("interval = " + params.getPublishInterval());
System.out.println("subscriptionId = " + params.getSubscriptionId());
System.out.println("consoleHandle = " + params.getConsoleHandle());
// Sleep a while, getting query result as they become available
try
{
Thread.sleep(20000);
}
catch (InterruptedException ie)
{
}
// Refresh the subscription getting results asynchronously, just for variety
System.out.println("Calling refreshSubscription on " + params.getSubscriptionId());
_console.refreshSubscription(params.getSubscriptionId(), "{replyHandle:ignoredReplyHandle}");
// Create a subscription for _class_name = queue
System.out.println("Creating Query for all queue objects");
query = new QmfQuery(QmfQueryTarget.OBJECT, "['eq', '_class_name', ['quote', 'queue']]");
params = _console.createSubscription(_broker, query, "queues");
while (_objectId == null)
{
System.out.println("Waiting for ObjectId to be set");
try
{
Thread.sleep(1000);
}
catch (InterruptedException ie)
{
}
}
// Cancel the query for all queue objects
System.out.println("Cancelling Query for all queue objects");
_console.cancelSubscription(params.getSubscriptionId());
// Create a subscription for _object_id
System.out.println("Creating Query for _object_id = " + _objectId);
query = new QmfQuery(QmfQueryTarget.OBJECT, _objectId);
params = _console.createSubscription(_broker, query, "queues");