Acceso a Application Scheduler con la interfaz del MBean de Application Scheduler

Utilice la línea de mandatos para invocar el MBean de Application Scheduler

Por qué y cuándo realizar esta tarea

Realice lo siguiente para invocar el MBean de Application Scheduler.

Pasos para realizar esta tarea

  1. Establezca las propiedades SOAP_HOSTNAME y SOAP_PORT en la clase com.ibm.wbiserver.migration.ics.Parameters. Esta clase se encuentra en el archivo migration-wbi-ics.jar del directorio INICIO_WAS\lib. SOAP_HOSTNAME es el nombre del sistema principal donde se ejecuta Application Scheduler. SOAP_PORT es el puerto donde se ejecuta Application Scheduler.
    Parameters.instance.setProperty(Parameters.SOAP_HOSTNAME, "localhost");
    Parameters.instance.setProperty(Parameters.SOAP_PORT, "8880");
    Nota: Si se activa la seguridad, debe especificar un ID de usuario y una contraseña en el archivo de propiedades soap que se encuentra en la ubicación INICIO_WAS\profiles\perfiles\properties\soap.client.props.

    Este nombre de archivo de propiedades debe establecerse en la instancia de Parameters que se muestra aquí.

    Parameters.instance.setProperty(Parameters.SOAP_PROPERTIES, 
    "INICIO_WAS\profiles\perfiles\properties\soap.client.props";
  2. Cree una instancia de la clase com.ibm.wbiserver.migration.ics.utils.MBeanUtil que implementa llamadas al Mbean AppScheduler.
    Para crear una instancia de un MBeanUtil, debe pasar esta serie de consulta a su constructor que invoca el Mbean correcto basándose en su nombre, tipo, nombre de servidor y nombre de nodo.
     protected static final String WEBSPHERE_MB_QUERY_CONSTANT = "WebSphere:*";
    	protected static final String NAME_QUERY_CONSTANT = ",name=";
    	protected static final String WBI_SCHED_MB_NAME = "WBISchedulerMB1";
    	protected static final String TYPE_QUERY_CONSTANT = ",type=";
    	protected static final String WBI_SCHED_MB_TYPE = "WBIScheduler";
    	protected static final String SERVER_QUERY_CONSTANT = ",process=";
    	protected static final String NODE_QUERY_CONSTANT = ",node=";      	
    
    	nombreServidor = “server1”;
    	nombreNodo = "myNode";	
    
    	String queryString = new StringBuffer(WEBSPHERE_MB_QUERY_CONSTANT)
    				.append(NAME_QUERY_CONSTANT).append(WBI_SCHED_MB_NAME).append(
    				TYPE_QUERY_CONSTANT).append(WBI_SCHED_MB_TYPE).append(
    				SERVER_QUERY_CONSTANT).append(serverName).append(
    				NODE_QUERY_CONSTANT).append(nodeName).toString();
    			
    	MBeanUtil mbs = new MBeanUtil(queryString.toString());
  3. Llame a métodos de Mbean mediante el método invoke() de la instancia de MbeanUtil y pásele el nombre del método.
A continuación se muestra un ejemplo de invocación del método createSchedulerEntry del Mbean Scheduler. El primer paso es crear una SchedulerEntry y establecer distintos parámetros como el nombre, tipo, versión, transición, estado de la entrada, tipo de recurrencia, semana de recurrencia, periodo de recurrencia, fecha inicial, intervalo de repetición e ID de componente.
try
	{
	//Primero se establece la entrada de planificación

	ScheduleEntry entry1 = new ScheduleEntry();
	entry1.setCName("BPEWebClient_localhost_server1");
	entry1.setCType("Application");
	entry1.setCVersion("ver1");
	entry1.setCTransition("startApplication");
	entry1.setSchedulerNumberOfRepeats(3); // Se activa tres veces
	entry1.setScheduleEntryStatus(TaskStatus.SCHEDULED);
	entry1.setRType(Recurrence.MINUTES);
	entry1.setRWeekNumber(-1);
	entry1.setRPeriod(2);
	entry1.setInitialDate(new Date(System.currentTimeMillis()+SIXTY_SECOND_OFFSET));
	entry1.setRepeatInterval(entry1.getInitialDate(), entry1.getRType(), 
  entry1.getRWeekNumber(),
					entry1.getRPeriod());
	entry1.setComponentID(entry1.getCName(), entry1.getCType(), entry1.getCVersion(), 
					entry1.getCTransition());

A continuación, se invoca al método createSchedulerEntry del Mbean. Se le pasa la entrada del planificador entry1 como parámetro junto con el nombre de la clase ScheduleEntry.

A continuación, se invoca el método createScheduleEntry del MBean:
mbs.invoke(schedulerExtMBName, "createScheduleEntry", new Object[]{entry1}, 
		new String[]{"com.ibm.wbiserver.scheduler.common.ScheduleEntry"});
Finalmente, lea todas las entradas de planificación incluida la que se acaba de añadir llamando al método readAllScheduleEntries.
result = mbs.invoke("readAllScheduleEntries", null, null);
	}
	catch (MigrationException e)
	{ e.printStackTrace();
	}

Condiciones de uso |


(c) Copyright IBM Corporation 2005, 2006.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org)