Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer's Guide

Querying

The demoQuery() method demonstrates how to issue queries.

The demoQuery() method uses other methods that are defined by Samples, namely displayWild(), and displayJ2EEType(). The displayWild() method is shown in the following code.


Example 16–11 Querying and displaying wild cards

[...]
queryWild(
    final String propertyName,
    final String propertyValue)
{
    final String[] propNames = new String[] { propertyName };
    final String[] propValues = new String[]{ propertyValue };
    final Set amxs = getQueryMgr().queryWildSet( propNames, propValues );
    return( amxs );
}
public Set
displayWild(
    final String propertyName,
    final String propertyValue)
{
    final Set items = queryWild( propertyName, propertyValue );
    println( "\n--- Queried for " + propertyName + "="
        + propertyValue + " ---" );
    final Iterator    iter    = items.iterator();
    while ( iter.hasNext() )
    {
        final AMX    item    = (AMX)iter.next();
        println( "j2eeType=" + item.getJ2EEType() + ",
            " + "name=" + item.getName() );
    }
}
[...]

The displayWild() method calls queryWild(), to obtain all the AMX MBeans that have object names matching propertyName and propertyValue. To do so, queryWild() calls the com.sun.appserv.management.base.QueryMgr.queryWildSet() method. The queryWildSet() method returns the list of AMX MBeans with object names matching the wild card strings.

For each MBean returned, the displayWild() calls AMX.getJ2EEType() to identify its J2EE type, and prints the result onscreen.

In code that is not shown here, the displayJ2EEType() method calls the queryForJ2EEType() method, which was seen in Accessing and Displaying the Attributes of an AMX MBean, to identify MBeans of a certain J2EE type and print their object names onscreen.


Example 16–12 Querying

[...]
demoQuery()
{
    displayWild( AMX.J2EE_TYPE_KEY, "X-*ResourceConfig" );
    displayWild( AMX.J2EE_TYPE_KEY, "X-*ServerConfig" );
    displayJ2EEType( XTypes.SSL_CONFIG );
    displayJ2EEType( XTypes.CLUSTER_CONFIG );
}
[...]

In the demoQuery() method, the displayWild() and displayJ2EEType() methods are called to find the following MBeans: