/** * query the network registry for <tt>0..*</tt> of servers based on a * filter. if the filter is null, it is considered a wildcard. * * @param filter * @return */ public NetworkInstance[] queryServers(NetworkFilter filter) { NetworkInstance servers[] = getServers(); if(servers == null || servers.length <= 0) { return new NetworkInstance[0]; } Set result = new HashSet(); for(int c = 0; c < servers.length; c++) { NetworkInstance instance = (NetworkInstance) this.servers.get(servers[c]); if(filter == null || filter.filter(servers[c].getIdentity(), instance.getLocators())) { if(result.contains(servers[c]) == false) { // the filter passed, add it result.add(servers[c]); } } } return (NetworkInstance[]) result.toArray(new NetworkInstance[result.size()]); }
/** * change the main domain of the local server * * @param newDomain */ public synchronized void changeDomain(String newDomain) { System.setProperty("jboss.remoting.domain", newDomain); NetworkInstance servers[] = getServers(); if(servers == null || servers.length <= 0) { return; } // remove entries that don't match out new domain for(int c = 0; c < servers.length; c++) { NetworkInstance instance = (NetworkInstance) this.servers.get(servers[c]); if(newDomain.equals(instance.getIdentity().getDomain()) == false) { this.servers.remove(servers[c]); } } new Thread() { public void run() { broadcaster.sendNotification(new NetworkNotification(objectName, NetworkNotification.DOMAIN_CHANGED, Identity.get(mBeanServer), InvokerRegistry.getRegisteredServerLocators())); } }.start(); }
NetworkInstance[] instances = registry.getServers(); for(int x = 0; x < instances.length; x++)
if (registry != null) NetworkInstance[] instances = registry.getServers(); if (instances != null)