Advertisement
Guest User

Untitled

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