PlugIn Hibernate no Struts

5 respostas
tads

Olá,

Alguém já usou o plugin do hibernate (HibernatePlugIn) no struts?

Toda vez q eu o coloco no struts-config.xml dá o erro:

javax.servlet.ServletException: Servlet.init() for servlet action threw exception
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:962)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:666)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
	at java.lang.Thread.run(Thread.java:536)


root cause 

java.lang.NoClassDefFoundError
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
	at java.lang.Class.newInstance0(Class.java:306)
	at java.lang.Class.newInstance(Class.java:259)
	at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:231)
	at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:1142)
	at org.apache.struts.action.ActionServlet.init(ActionServlet.java:473)
	at javax.servlet.GenericServlet.init(GenericServlet.java:256)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:934)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:666)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
	at java.lang.Thread.run(Thread.java:536)

Alguém poderia me ajudar???

muito obrigado,

abraço

5 Respostas

Paulo_Silveira

ve no log em si
deu classdefnotfound
alguma classe pro plugin ta faltando
ou voce esqueceu de colocar o jar do hibernate em si

ou esqueceu de alguma das 10 dependencias do hibernate…

ei
fala pra gente depois se eh legal o plugin, e como ele ajuda

tads

as 10 dependências são os jar da past lib do Hibernate???

Se for, eu coloquei apenas 6 deles, de acordo com outro post
que eu vi aki no guj.

Intão, eu descobri uma coisa. Eu tenho vários plugins que eu adicionei
no struts-config.xml.

O primeiro plugin, q eu já tinha colocado já faz tempo, está funcionando
legal , pois eu testei colocando System.out.println(“Blablabla plugin 1”);
dentro no método init(…).
Fiz o mesmo na classe q extende PlugIn que eu baixei do site
do hibernate (HibernatePlugIn).

quando vejo no log, ele nem está entrando no init da classe
HibernatePlugIn. Acho q não está encontrando esta classe,
mas não sei porque.

Um detalhe interessante é q o primeiro plugin q eu tinha feito, akele
q tá funcionando legal, está num pacote parecido com

com.projeto.database.plugin

Já o plugin do hibernate está num pacote

br.com.proj.dao.

Eu acho q isso não tem nada a ver!!!

Valew pela atenção Paulo e pode deixar q eu falo se é bão ou
não este tal de plugin (eu acho q vai ficar da hora)

abraço,

ricardolecheta

o que faz este HibernatePlugIn?

tads

Quando se usa o Hibernate, é preciso que seja feito mapeamentos dos
beans em XML, para poder ter comunicação entre os objetos.
Pelo que pude perceber, quando o hibernate é iniciado, ele vai
carregar todas estas informações, e isto leva um certo tempo.
Com HibernatePlugIn é usado junto com o Struts, para que estas
informações sejam carregadas quando o TomCat for iniciado.
Assim, as operações como inserções, consultas ficam bem mais
rápidas.

Acho q seria mais ou menos assim.

Falow,

Abraço

tads

Olá,

Onde devo colocar o arquivo hibernate.cfg.xml???

No HibernatePlugIn, ele não consegue achar o arquivo de jeito nenhum.

Valew

Abraços

Criado 7 de outubro de 2003
Ultima resposta 8 de out. de 2003
Respostas 5
Participantes 3