Advertisement
Guest User

Untitled

a guest
May 6th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.70 KB | None | 0 0
  1. import java.util.*;                                            
  2. import java.util.regex.*;                                      
  3. import java.util.Scanner;                                                      
  4. import javax.management.*;                                                    
  5. import javax.management.remote.*;                                              
  6.  
  7. public class statusManager
  8. {                        
  9.         public static class AppConextName
  10.         {                                
  11.  
  12.                 String vhostName = "_defaultVHost_";
  13.                 String appName = "_defapp_";        
  14.                 String appInstName = "_definst_";  
  15.  
  16.                 public AppConextName(String fullname)
  17.                 {                                    
  18.                         Scanner Parser = new Scanner(fullname).useDelimiter("/");
  19.                         if (Parser.hasNext(":"))                                
  20.                         {                                                        
  21.                                 Scanner Parser2 = new Scanner(Parser.next()).useDelimiter(":");
  22.                                 appInstName = Parser.next();                                  
  23.                                 Parser.close();                                                
  24.                                 vhostName = Parser2.next();                                    
  25.                                 appName = Parser2.next();                                      
  26.                                 Parser2.close();                                              
  27.                                 System.out.println("vhostName="+vhostName);                    
  28.                                 System.out.println("appName="+appName);                        
  29.                                 System.out.println("appInstName="+appInstName);                
  30.                         }                                                                      
  31.                         else                                                                  
  32.                         {                                                                      
  33.                                 appName = Parser.next();                                      
  34.                         }                                                                      
  35.                 }                                                                              
  36.         }                                                                                      
  37.         public static void main(String[] args)                                                
  38.         {                                                                                      
  39.                 String username = "admin";                                                    
  40.                 String password = "admin";                                                    
  41.                 String jmxURL = "service:jmx:rmi://localhost:8084/jndi/rmi://localhost:8085/jmxrmi";
  42.  
  43.                 try
  44.                 {  
  45.                         // create a connection URL
  46.                         JMXServiceURL serviceURL = new JMXServiceURL(jmxURL);
  47.  
  48.                         // create a environment hash with username and password
  49.                         Map<String, Object> env = new HashMap<String, Object>();
  50.                         String[] creds = {username, password};                  
  51.                         env.put(JMXConnector.CREDENTIALS, creds);              
  52.  
  53.                         // connect to the server
  54.                         JMXConnector connector = JMXConnectorFactory.connect(serviceURL, env);      
  55.                         MBeanServerConnection connection = connector.getMBeanServerConnection();    
  56.  
  57.                         // Call start/stop vhost through the Server object
  58.  
  59.                         if (args[0].equals("startVHost"))
  60.                         {                                
  61.                                 String connectsName = "WowzaMediaServerPro:name=Server";
  62.                                 ObjectName connectsObjName = new ObjectName(connectsName);
  63.  
  64.                                 System.out.println(args[0]+" "+args[1]);
  65.                                 Object[] arguments = {args[1]};        
  66.                                 String[] signature = {"java.lang.String"};
  67.                                 connection.invoke(connectsObjName, "startVHost", arguments, signature);
  68.                         }                                                                              
  69.                         else if (args[0].equals("stopVHost"))                                          
  70.                         {                                                                              
  71.                                 String connectsName = "WowzaMediaServerPro:name=Server";              
  72.                                 ObjectName connectsObjName = new ObjectName(connectsName);            
  73.  
  74.                                 System.out.println(args[0]+" "+args[1]);
  75.                                 Object[] arguments = {args[1]};        
  76.                                 String[] signature = {"java.lang.String"};
  77.                                 connection.invoke(connectsObjName, "stopVHost", arguments, signature);
  78.                         }                                                                            
  79.                         else if (args[0].equals("reloadVHostConfig"))                                
  80.                         {                                                                            
  81.                                 String connectsName = "WowzaMediaServerPro:name=Server";              
  82.                                 ObjectName connectsObjName = new ObjectName(connectsName);            
  83.  
  84.                                 System.out.println(args[0]);
  85.                                 Object[] arguments = {};    
  86.                                 String[] signature = {};    
  87.                                 connection.invoke(connectsObjName, "reloadVHostConfig", null, null);
  88.                         }                                                                          
  89.                         else if (args[0].equals("startAppInstance"))                                
  90.                         {                                                                          
  91.                                 System.out.println(args[0]+" "+args[1]);                            
  92.  
  93.                                 AppConextName context = new AppConextName(args[1]);
  94.  
  95.                                 String connectsName = "WowzaMediaServerPro:vHosts=VHosts,vHostName="+context.vhostName+",name=VHost";
  96.                                 System.out.println(connectsName);                                                                    
  97.                                 ObjectName connectsObjName = new ObjectName(connectsName);                                          
  98.  
  99.                                 Object[] arguments = {context.appName, context.appInstName};
  100.                                 String[] signature = {"java.lang.String", "java.lang.String"};
  101.                                 connection.invoke(connectsObjName, "startApplicationInstance", arguments, signature);
  102.                         }                                                                                            
  103.                         else if (args[0].equals("shutdownAppInstance"))                                              
  104.                         {                                                                                            
  105.                                 System.out.println(args[0]+" "+args[1]);
  106.  
  107.                                 AppConextName context = new AppConextName(args[1]);
  108.  
  109.                                 String connectsName = "WowzaMediaServerPro:vHosts=VHosts,vHostName="+context.vhostName+",applications=Applications,applicationName="+context.appName+",name=Application";
  110.                                 System.out.println(connectsName);
  111.                                 ObjectName connectsObjName = new ObjectName(connectsName);
  112.  
  113.                                 Object[] arguments = {context.appInstName};
  114.                                 String[] signature = {"java.lang.String"};
  115.                                 connection.invoke(connectsObjName, "shutdownAppInstance", arguments, signature);
  116.                         }
  117.                         else if (args[0].equals("startMediaCasterStream"))
  118.                         {
  119.                                 System.out.println(args[0]+" "+args[1]+" "+args[2]+" "+args[3]);
  120.  
  121.                                 AppConextName context = new AppConextName(args[1]);
  122.  
  123.                                 String connectsName = "WowzaMediaServerPro:vHosts=VHosts,vHostName="+context.vhostName+",applications=Applications,applicationName="+context.appName+",applicationInstances=ApplicationInstances,applicationInstanceName="+context.appInstName+",modules=Modules,module=ModuleMediaCasterStreamManager,name=Instance";
  124.                                 ObjectName connectsObjName = new ObjectName(connectsName);
  125.  
  126.                                 Object[] arguments = {args[2], args[3]};
  127.                                 String[] signature = {"java.lang.String", "java.lang.String"};
  128.                                 connection.invoke(connectsObjName, "startMediaCasterStream", arguments, signature);
  129.                         }
  130.                         else if (args[0].equals("stopMediaCasterStream"))
  131.                         {
  132.                                 System.out.println(args[0]+" "+args[1]+" "+args[2]);
  133.  
  134.                                 AppConextName context = new AppConextName(args[1]);
  135.  
  136.                                 String connectsName = "WowzaMediaServerPro:vHosts=VHosts,vHostName="+context.vhostName+",applications=Applications,applicationName="+context.appName+",applicationInstances=ApplicationInstances,applicationInstanceName="+context.appInstName+",modules=Modules,module=ModuleMediaCasterStreamManager,name=Instance";
  137.                                 ObjectName connectsObjName = new ObjectName(connectsName);
  138.  
  139.                                 Object[] arguments = {args[2]};
  140.                                 String[] signature = {"java.lang.String"};
  141.                                 connection.invoke(connectsObjName, "stopMediaCasterStream", arguments, signature);
  142.                         }
  143.                         else
  144.                                 System.out.println("ERROR: Command not recognized: "+args[0]);
  145.                 }
  146.  
  147.                 catch (Exception e)
  148.                 {
  149.                         System.out.println("ERROR: "+e.toString());
  150.                 }
  151.         }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement