Advertisement
Guest User

Untitled

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