add mx -jconsole option
This commit is contained in:
		
							parent
							
								
									6ef73dcbcb
								
							
						
					
					
						commit
						0eb3672642
					
				@ -79,18 +79,38 @@ public class Mx extends SigarCommandBase {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void jconsole() {
 | 
			
		||||
        String pid = String.valueOf(this.sigar.getPid());
 | 
			
		||||
        String[] argv = { "jconsole", pid };
 | 
			
		||||
        println("exec(jconsole, " + pid + ")");
 | 
			
		||||
        try {
 | 
			
		||||
            Process p = Runtime.getRuntime().exec(argv);
 | 
			
		||||
            p.waitFor();
 | 
			
		||||
            println("jconsole exited");
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            println(e.getMessage());
 | 
			
		||||
        }        
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void output(String[] args) throws SigarException {
 | 
			
		||||
        MBeanServer server = getMBeanServer();
 | 
			
		||||
        register(server);
 | 
			
		||||
        boolean hasQuery = args.length != 0;
 | 
			
		||||
        try {
 | 
			
		||||
            String query;
 | 
			
		||||
            if (hasQuery) {
 | 
			
		||||
                query = args[0];
 | 
			
		||||
        boolean hasQuery = false;
 | 
			
		||||
        boolean launchJconsole = false;
 | 
			
		||||
        String query = "sigar:*";
 | 
			
		||||
 | 
			
		||||
        for (int i=0; i<args.length; i++) {
 | 
			
		||||
            String arg = args[i];
 | 
			
		||||
            if (arg.equals("-jconsole")) {
 | 
			
		||||
                launchJconsole = true;
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                query = "sigar:*";
 | 
			
		||||
                query = arg;
 | 
			
		||||
                hasQuery = true;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            Set beans =
 | 
			
		||||
                server.queryNames(new ObjectName(query), null);
 | 
			
		||||
            println(beans.size() + " MBeans are registered...");
 | 
			
		||||
@ -112,6 +132,9 @@ public class Mx extends SigarCommandBase {
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            throw new SigarException(e.getMessage());
 | 
			
		||||
        }
 | 
			
		||||
        if (launchJconsole) {
 | 
			
		||||
            jconsole();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static void main(String[] args) throws Exception {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user