Actions Gordas[Mentawai 1.14.1]  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
Ironlynx
Moderador
[Avatar]

Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline

Eu tenho uma RelatórioAction que precisa acessar diferentes DAO´s(uns 5).Eles só serão usados nessa action.Eu só consigo acessá-los via services e injetando os DAO´s?Não dá para fazer algo direto tipo Usuario u= dao1.loadById(),Carroc=dao2.loadByTipo()...?

OBS.:Eu pergunto pq sempre que eu faço algo do tipo:Formula f=fDao.loadFormulaById(nFormula); vem null, o que é típico de Não injeção do DAO.Ah, sim o valor é passado corretamente(não tá nulo) e as consultas direta via base estão OK para o ID passado.

This message was edited 1 time. Last update was at 31/01/2009 00:04:41


Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/
[WWW]
Ironlynx
Moderador
[Avatar]

Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline

Bom, descobri como lidar com vários DAO´s numa Action: mande-os via IOC no app manager e na sua Action, faça:
interfaceDoSueObjetoDAO = (interfaceDoSueObjetoDAO) input.getValue("interfaceDoSueObjetoDAO");
Funcionou com meus 2 primeiros(de 5), mas parou num terceiro com o erro:
java.lang.InstantiationException: Cannot create instance from class: class com.fc.dao.mysql.MySQLIndicadorDAO

Meu DAO assim:

Como a classe não é Abstrata, nem interface, alguém sabe me dizer o que tá rolando?Isso é devido ao IOC?Olha o resto da Stack:

at org.mentawai.ioc.DefaultComponent.getInstance(DefaultComponent.java:304)
at org.mentawai.filter.IoCFilter.getValue(IoCFilter.java:211)
at org.mentawai.core.InputWrapper.getValue(InputWrapper.java:225)
at org.mentawai.filter.AutoWiringFilter.getValue(AutoWiringFilter.java:215)
at org.mentawai.util.InjectionUtils.getValueToInject(InjectionUtils.java:542)
at org.mentawai.util.InjectionUtils.getObject(InjectionUtils.java:80
at org.mentawai.filter.InjectionFilter.filter(InjectionFilter.java:151)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.VOFilter.filter(VOFilter.java:133)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.ValidatorFilter.filter(ValidatorFilter.java:154)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.AuthenticationFilter.filter(AuthenticationFilter.java:125)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.AutoWiringFilter.filter(AutoWiringFilter.java:110)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.IoCFilter.filter(IoCFilter.java:83)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.ConnectionFilter.filter(ConnectionFilter.java:80)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.ExceptionFilter.filter(ExceptionFilter.java:83)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.core.Controller.invokeAction(Controller.java:759)
at org.mentawai.core.Controller.service(Controller.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:17
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:14
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
java.lang.InstantiationException: Cannot create instance from class: class com.fc.dao.mysql.MySQLIndicadorDAO
at org.mentawai.ioc.DefaultComponent.getInstance(DefaultComponent.java:304)
at org.mentawai.filter.IoCFilter.getValue(IoCFilter.java:211)
at org.mentawai.core.InputWrapper.getValue(InputWrapper.java:225)
at org.mentawai.filter.AutoWiringFilter.getValue(AutoWiringFilter.java:215)
at org.mentawai.util.InjectionUtils.getValueToInject(InjectionUtils.java:542)
at org.mentawai.util.InjectionUtils.getObject(InjectionUtils.java:80
at org.mentawai.filter.InjectionFilter.filter(InjectionFilter.java:151)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.VOFilter.filter(VOFilter.java:133)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.ValidatorFilter.filter(ValidatorFilter.java:154)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.AuthenticationFilter.filter(AuthenticationFilter.java:125)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.AutoWiringFilter.filter(AutoWiringFilter.java:110)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.IoCFilter.filter(IoCFilter.java:83)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.ConnectionFilter.filter(ConnectionFilter.java:80)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.ExceptionFilter.filter(ExceptionFilter.java:83)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.core.Controller.invokeAction(Controller.java:759)
at org.mentawai.core.Controller.service(Controller.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:17
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:14
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)


Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/
[WWW]
saoj
JWizard
[Avatar]

Membro desde: 09/03/2004 23:34:46
Mensagens: 2665
Localização: Chicago, EUA
Offline


Vc está chamando loadAll() no construtor e deve estar dando algum erro ali que está inviabilizando a construçao do objeto.

Eu colocaria uns breakpoints ou um System.out para entender em que linha está dando o problema.

Sergio A Oliveira Jr. - saoj

ExperiMENTA:

Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org


[Email] [WWW]
Ironlynx
Moderador
[Avatar]

Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline

Eu colocaria uns breakpoints ou um System.out para entender em que linha está dando o problema.

saoj , retirei o loadAll, afinal aquilo é só para otimizar o acesso Web(minimizar as consultas ao banco ), e minha apresentação amanhã será local, mas agora eu recebo um null aqui:
java.lang.NullPointerException
at com.fc.action.RelatorioAction.getRelatorio(RelatorioAction.java:69)

Que correspondem a essas linhas:

A única diferença entre meus DAO´s anteriores pegos no relatório é que esse é um Array.

Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/
[WWW]
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team