Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.util.regex.*;
- import java.util.Scanner;
- import javax.management.*;
- import javax.management.remote.*;
- public class statusManager
- {
- public static class AppConextName
- {
- String vhostName = "_defaultVHost_";
- String appName = "_defapp_";
- String appInstName = "_definst_";
- public AppConextName(String fullname)
- {
- Scanner Parser = new Scanner(fullname).useDelimiter("/");
- String nextParser = Parser.next();
- if( nextParser.indexOf(":") > 0 )
- {
- appInstName = Parser.next();
- Parser.close();
- Scanner Parser2 = new Scanner(nextParser).useDelimiter(":");
- vhostName = Parser2.next();
- appName = Parser2.next();
- Parser2.close();
- /*Comment only use for Debuggin
- System.out.println("vhostName="+vhostName);
- System.out.println("appName="+appName);
- System.out.println("appInstName="+appInstName);
- */
- }
- else
- {
- appName = Parser.next();
- }
- }
- }
- public static void main(String[] args)
- {
- String username = "admin";
- String password = "admin";
- String jmxURL = "service:jmx:rmi://localhost:8084/jndi/rmi://localhost:8085/jmxrmi";
- try
- {
- // create a connection URL
- JMXServiceURL serviceURL = new JMXServiceURL(jmxURL);
- // create a environment hash with username and password
- Map<String, Object> env = new HashMap<String, Object>();
- String[] creds = {username, password};
- env.put(JMXConnector.CREDENTIALS, creds);
- // connect to the server
- JMXConnector connector = JMXConnectorFactory.connect(serviceURL, env);
- MBeanServerConnection connection = connector.getMBeanServerConnection();
- // Call start/stop vhost through the Server object
- if (args[0].equals("startVHost"))
- {
- String connectsName = "WowzaMediaServerPro:name=Server";
- ObjectName connectsObjName = new ObjectName(connectsName);
- System.out.println(args[0]+" "+args[1]);
- Object[] arguments = {args[1]};
- String[] signature = {"java.lang.String"};
- connection.invoke(connectsObjName, "startVHost", arguments, signature);
- }
- else if (args[0].equals("stopVHost"))
- {
- String connectsName = "WowzaMediaServerPro:name=Server";
- ObjectName connectsObjName = new ObjectName(connectsName);
- System.out.println(args[0]+" "+args[1]);
- Object[] arguments = {args[1]};
- String[] signature = {"java.lang.String"};
- connection.invoke(connectsObjName, "stopVHost", arguments, signature);
- }
- else if (args[0].equals("reloadVHostConfig"))
- {
- String connectsName = "WowzaMediaServerPro:name=Server";
- ObjectName connectsObjName = new ObjectName(connectsName);
- System.out.println(args[0]);
- Object[] arguments = {};
- String[] signature = {};
- connection.invoke(connectsObjName, "reloadVHostConfig", null, null);
- }
- else if (args[0].equals("startAppInstance"))
- {
- System.out.println(args[0]+" "+args[1]);
- AppConextName context = new AppConextName(args[1]);
- String connectsName = "WowzaMediaServerPro:vHosts=VHosts,vHostName="+context.vhostName+",name=VHost";
- System.out.println(connectsName);
- ObjectName connectsObjName = new ObjectName(connectsName);
- Object[] arguments = {context.appName, context.appInstName};
- String[] signature = {"java.lang.String", "java.lang.String"};
- connection.invoke(connectsObjName, "startApplicationInstance", arguments, signature);
- }
- else if (args[0].equals("shutdownAppInstance"))
- {
- System.out.println(args[0]+" "+args[1]);
- AppConextName context = new AppConextName(args[1]);
- String connectsName = "WowzaMediaServerPro:vHosts=VHosts,vHostName="+context.vhostName+",applications=Applications,applicationName="+context.appName+",name=Application";
- System.out.println(connectsName);
- ObjectName connectsObjName = new ObjectName(connectsName);
- Object[] arguments = {context.appInstName};
- String[] signature = {"java.lang.String"};
- connection.invoke(connectsObjName, "shutdownAppInstance", arguments, signature);
- }
- else if (args[0].equals("startMediaCasterStream"))
- {
- System.out.println(args[0]+" "+args[1]+" "+args[2]+" "+args[3]);
- AppConextName context = new AppConextName(args[1]);
- String connectsName = "WowzaMediaServerPro:vHosts=VHosts,vHostName="+context.vhostName+",applications=Applications,applicationName="+context.appName+",applicationInstances=ApplicationInstances,applicationInstanceName="+context.appInstName+",modules=Modules,module=ModuleMediaCasterStreamManager,name=Instance";
- ObjectName connectsObjName = new ObjectName(connectsName);
- Object[] arguments = {args[2], args[3]};
- String[] signature = {"java.lang.String", "java.lang.String"};
- connection.invoke(connectsObjName, "startMediaCasterStream", arguments, signature);
- }
- else if (args[0].equals("stopMediaCasterStream"))
- {
- System.out.println(args[0]+" "+args[1]+" "+args[2]);
- AppConextName context = new AppConextName(args[1]);
- String connectsName = "WowzaMediaServerPro:vHosts=VHosts,vHostName="+context.vhostName+",applications=Applications,applicationName="+context.appName+",applicationInstances=ApplicationInstances,applicationInstanceName="+context.appInstName+",modules=Modules,module=ModuleMediaCasterStreamManager,name=Instance";
- ObjectName connectsObjName = new ObjectName(connectsName);
- Object[] arguments = {args[2]};
- String[] signature = {"java.lang.String"};
- connection.invoke(connectsObjName, "stopMediaCasterStream", arguments, signature);
- }
- else
- System.out.println("ERROR: Command not recognized: "+args[0]);
- }
- catch (Exception e)
- {
- System.out.println("ERROR: "+e.toString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement