Como faço para dizer ao Tomcat que ele deve rodar uma determinada servlet [color=red]automaticamente[/color], toda vez que ele for iniciado?
O sub-atributo [color=red][/color] do atributo [color=red][/color] serve para isso?
[]´s!
Como faço para dizer ao Tomcat que ele deve rodar uma determinada servlet [color=red]automaticamente[/color], toda vez que ele for iniciado?
O sub-atributo [color=red][/color] do atributo [color=red][/color] serve para isso?
[]´s!
Exatamente isso , ja realizou um teste para verificar?
Um simples System.out.println(“Aloha!”) mata essa charada.
procure usar test-casa
Exatamente isso , ja realizou um teste para verificar?
Um simplesSystem.out.println(“Aloha!”)mata essa charada.
...
<servlet>
<servlet-name>acesso.servicos.XMLReceiverAction</servlet-name>
<display-name>XMLReceiverAction</display-name>
<servlet-class>acesso.servicos.XMLReceiverAction</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
...
Olha o console to tomcat:
INFO: Jk running ID=0 time=15/78 config=D:\jakarta-tomcat-5.0.28\conf\jk2.properties
11/02/2008 15:17:13 org.apache.catalina.startup.Catalina start
INFO: Server startup in 31470 ms
O que é isso?
[]´s!
Achei isso no endereço abaixo, fiz as alterações indicadas mas ainda assim a servlet não é chamada quando inicio o tomcat =/
http://www.coreservlets.com/Apache-Tomcat-Tutorial/
:roll: :roll:
Mas o que faz o seu Servlet?
Poderia especificar?
tente colocar um System.out.println(“Acorda Servlet”) no metodo init() e veja o console …
Mas o que faz o seu Servlet? Poderia especificar? tente colocar um System.out.println("Acorda Servlet") no metodo init() e veja o console ...Kra, fiz conforme você disse e coloquei o println la no metodo init da servlet, mas ainda assim ele nao imprime. Esta servlet desencadeia um processo inteiro, que faz diversas tarefas...quando eu chamo pela url no browser funciona legal... O método que eu preciso que seja invocado automaticamente é o método go() da classe TarefaContinua, como está aí no método service. Minha servlet:
public class XMLReceiverAction extends HttpServlet
{
public void init(ServletConfig config) throws ServletException
{
super.init(config);
System.out.println("Acorda Servlet");
}
public void destroy()
{
super.destroy();
}
public void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
try
{
TarefaContinua tc = new TarefaContinua();
tc.go();
}
catch( Exception e )
{
e.printStackTrace();
}
}
}
...
<servlet>
<servlet-name>acesso.servicos.XMLReceiverAction</servlet-name>
<display-name>XMLReceiverAction</display-name>
<servlet-class>acesso.servicos.XMLReceiverAction</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>...
Mas assinatura do seu metodo init() esta errada:
E somente isso:
/* (non-Javadoc)
* @see javax.servlet.GenericServlet#init()
*/
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
System.out.println("Acorda Servlet");
}
Errr esta certo como vc declarou , nao tinha olhado o Javadoc , mas utilize o metodo acima veja se saira algo no console.
Blz kra, fiz como vc citou acima, sem receber o ServletConfig e agora e printou.
Depois voltei ao original recebendo o ServletConfig e funcionou também.
Aí coloquei a chamada pro método que quero chamar e funcionou.
Obrigado pela ajuda! 
[]´s!
Que estranho fiz um pequeno exemplo e funcionou …
faça o seguinte reveja essa parte:
<servlet>
<servlet-name>acesso.servicos.XMLReceiverAction</servlet-name>
<display-name>XMLReceiverAction</display-name>
<servlet-class>acesso.servicos.XMLReceiverAction</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
Verifique se a especificação do pacote da Classe XMLReceiverAction está correta , troque load-on-startup para 0 o container executa os interos menores primeiramente em seguida os maiores , so por curiosidade deixe o servlet-name somente isso XMLReceiverAction somente o nome do Servlet nao precisa especificar o pacote vc ja fez isso no servlet-class , apesar que nao pode influenciar mas sei lá , nao conheço a fundo o Tomcat.
Kra, o Tomcat está chamando legal a aplicação, mas depois ele MORRE… :roll:
Quando eu retiro o meu [color=red]war[/color] do tomcat ele inicia normal, e fica lá, ligado…
Mas quando coloco o meu war, ele inicia e até chama a minha servlet, sei que ele está chamando pq imprime no console uma parada que é da servlet, mas adivinha, depois que ele chama a minha servlet ele fica tentando iniciar, achei muito estranho isso, já q a meu ver ele já estaria iniciado pois até chamou a servlet.
Daí dá este erro:
Alguma idéia?
[]´s!!!