Executar em background um método e dar o ActionRedirect

4 respostas
jason_bourne

Pessoal,

Estou tentando imaginar uma forma de executar o inicia.iniciaCarga(datas) em background e logo em seguida dar o redirect, mas não estou conseguindo. Alguém pode me ajudar? pois da forma como esta, só aparece a página do redirect depois que executa totalmente o inicia.iniciaCarga(datas) e isso eu não desejo.

public class AlteraDataAction extends Action{

	public ActionForward execute(ActionMapping map,ActionForm form,
			HttpServletRequest req,HttpServletResponse res) throws Exception{

	AlteraDataForm cf = (AlteraDataForm) form;
	DatasBean datas = cf.getDatasBean();

	CarregaItens inicia = new CarregaItens();
	inicia.iniciaCarga(datas);

	ActionRedirect redirect =new ActionRedirect(map.findForward("ok"));
	redirect.addParameter("inicia","sim");
	return redirect;
	}


}

4 Respostas

rodrigoallemand

Threads!!!
http://www.unix.org.ua/orelly/java-ent/servlet/ch03_05.htm

jason_bourne

rodrigoallemand:
Threads!!!
http://www.unix.org.ua/orelly/java-ent/servlet/ch03_05.htm

Mas kra…eu pensei nisso tb…mas como vc pode ver ele ja esta estendendo uma classe, então não tenho como estender mais uma para usar Thread.

jgbt

eduacsp:
rodrigoallemand:
Threads!!!
http://www.unix.org.ua/orelly/java-ent/servlet/ch03_05.htm

Mas kra…eu pensei nisso tb…mas como vc pode ver ele ja esta estendendo uma classe, então não tenho como estender mais uma para usar Thread.


Existem outras maneiras de se criar uma Thread.
No seu caso vc pode implementar a interface Runnable.
Mas acho que uma inner class ficaria melhor, ou ate mesmo delegar para outra classe.
Vc so precisa decidir qual maneira vai ficar melhor.

[]´s

jason_bourne

Funcionou! usei Thread pra chamar aquele método. Vlw!

Criado 26 de dezembro de 2007
Ultima resposta 27 de dez. de 2007
Respostas 4
Participantes 3