A interface Enterprise JavaBeans (EJB) do planejador de tarefa é usada para enviar e manipular programaticamente uma tarefa do Compute Grid. É possível usar a interface EJB em conjunção com o planejador de base no WebSphere Application Server para executar o envio baseado em calendário de uma tarefa do Compute Grid. Este tópico descreve como enviar uma tarefa do Compute Grid para o planejador de tarefa usando o planejador de base no WebSphere Application Server.
Procedimento
-
Crie e configure um planejador. Consulte
Desenvolvendo e Planejando as Tarefas para obter informações
sobre como criar e configurar um planejador.
-
Crie uma tarefa do planejador para enviar trabalho em grade. Essa tarefa do
planejador chamará o EJB do planejador de tarefa
para enviar uma tarefa de Compute Grid. Consulte o tópico
Desenvolvendo
uma tarefa que chama um bean de sessão no centro de informações do WebSphere
Application Server Versão 6.0 para obter instruções de criação de uma tarefa
que chama um EJB. Este tópico também inclui instruções para utilizar o recurso
de calendário do planejador WebSphere. O seguinte exemplo de código de tarefa demonstra como invocar o EJB doplanejador de tarefa:
// Estas são as instruções de importação necessárias para a tarefa
import javax.naming.*;
import com.ibm.websphere.longrun.JobScheduler;
import com.ibm.websphere.longrun.JobSchedulerHome
private JobSchedulerHome zjsHome = null;
private JobScheduler zjs = null;
public void process(TaskStatus task) ()
try{
//Assegure-se de que a xJCL esteja colocada em uma cadeia, por exemplo, lendo uma xJCL
//Arquivo em uma cadeia
String xJCL = <xJCL como uma cadeia>;
//Obtenha o contexto de nomenclatura no nível da célula
InitialContext ctxt = new InitialContext();
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.ibm.websphere.naming.WsnInitialContextFactory");
env.put(Context.PROVIDER_URL,"corbaloc:rir:/NameServiceCellRoot");
ctxt = new InitialContext(env);
//Para pesquisar o EJB LRS no contexto da célula no espaço de nomes,
//O contexto do nome para o servidor de aplicativos ou cluster no qual o Aplicativo
//LRS que está implementado precisa ser fornecido
//Por ex.: "nodes/myNode/servers/myServer" ou "clusters/myCluster".
String longRunningContext = <long_running_context>;
zjsHome = (JobSchedulerHome) ctxt.lookup(longRunningContext +
"/ejb/com/ibm/websphere/longrun/JobSchedulerHome");
zjs = zjsHome.create();
zjs.submitJob( xJCL );
} catch(Exception e) {
System.out.println(e.getMessage());
}
-
Planeje a tarefa do planejador para enviar o trabalho de grade. Leia sobre Enviando uma Tarefa para um Planejador no Centro de Informações do WebSphere Application Server Versão 6.0.