Pessoal gostaria de saber se existe algum listener ou algo do tipo que executa no deploy da aplicação JSF 1.2, porém eu preciso que o FacesContext já esteja carregado.
Não encontrei nada,
Me ajudem
Pessoal gostaria de saber se existe algum listener ou algo do tipo que executa no deploy da aplicação JSF 1.2, porém eu preciso que o FacesContext já esteja carregado.
Não encontrei nada,
Me ajudem
O FacesContext só é carregado nas requisições para o ciclo de vida JSF. Listener de deploy tem, mas não vai dar para acessar nada do JSF.
Qual é seu problema?
O que acontece é um seguinte…
Eu sei que não é certo mas é uma aplicação de demonstração.
Essa minha aplicação é um servidor socket, ele fica escutando uma porta e recebe as informações de alguns terminais, temos um protocolo combinado.
Hoje eu tenho um botão dentro da aplicação que inicia este servidor socket, porém eu gostaria de tirar este botão e fazer este servidor iniciar no deploy ou algum jeito de iniciar automático, sem intervenção de pessoas.
Obrigado pela aajuda
Vc não precisa do faces para fazer…
Retire a logica que faz o esquema do socket em outra classe fora do managed bean.
No listerner de deploy servlet, vc executa esse código…
Cara você me ajudou demais… muito obrigado.
Consegui resolver, salvo o status do servidor no ServletContext e depois eu recupero assim eu consigo saber o Status do servidor dentro da aplicação.
public class ListenerInitialContext implements ServletContextListener
{
/** (non-Javadoc)
* @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
*/
@Override
public void contextDestroyed(ServletContextEvent event)
{
ServerSocketFacade serverSocketFacade;
serverSocketFacade = new ServerSocketFacade(event.getServletContext());
serverSocketFacade.stopServer();
}
/** (non-Javadoc)
* @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
*/
@Override
public void contextInitialized(ServletContextEvent event)
{
ServerSocketFacade serverSocketFacade;
try
{
serverSocketFacade = new ServerSocketFacade(event.getServletContext());
serverSocketFacade.startServer();
}
catch (ViewException e)
{
e.printStackTrace();
}
}
}
OK
Vai mais umas dicas…
[code]public class ListenerInitialContext implements ServletContextListener {
private ServerSocketFacade serverSocketFacade;
@Override
public void contextInitialized(ServletContextEvent event) {
try {
serverSocketFacade = new ServerSocketFacade(
event.getServletContext());
serverSocketFacade.startServer();
} catch (ViewException e) {
e.printStackTrace();
}
}
@Override
public void contextDestroyed(ServletContextEvent event) {
serverSocketFacade.stopServer();
}
}[/code]
2. Vc não precisa usar subir um web container inteiro para fazer isso…um programa JSE com public static void main ja resolve. Existe algum motivo especial?
Então na verdade ele é um sistema WEB.
Tenho o controle desses terminais tenho páginas web e etc.