Mensagens enviadas por: rodrigousp
Índice dos Fóruns » Perfil de rodrigousp » Mensagens enviadas por rodrigousp
Autor Mensagem
Pois é Paulo, eu estava dando deploy e estava mesmo mostrando umas mensagens esquisitas. Daí, hoje de manhã eu restartei o Jboss e apareceu a mensagem de erro falando que a classe não foi encontrada no SAR.
Nossa que erro básico. Agora o pau é outro:



java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.ServerException: RuntimeException; nested exception is:
net.sf.hibernate.LazyInitializationException: Hibernate lazy instantiation problem
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:292)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source)
at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:135)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:108)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80)
at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:111)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
at $Proxy1.addCartaIcm(Unknown Source)
at br.com.toyota.dss.sessions.CartaIcmSessionBeanTest.setUp(CartaIcmSessionBeanTest.java:63)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:392)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:276)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:167)
Caused by: java.rmi.ServerException: RuntimeException; nested exception is:
net.sf.hibernate.LazyInitializationException: Hibernate lazy instantiation problem
at org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.java:374)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:212)
at org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:313)
at org.jboss.ejb.Container.invoke(Container.java:738)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:383)
at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
Caused by: net.sf.hibernate.LazyInitializationException: Hibernate lazy instantiation problem
at net.sf.hibernate.jmx.SessionFactoryStub.getImpl(SessionFactoryStub.java:77)
at net.sf.hibernate.jmx.SessionFactoryStub.openSession(SessionFactoryStub.java:62)
at br.com.toyota.dss.sessions.CartaIcmSessionBean.openSession(CartaIcmSessionBean.java:67)
at br.com.toyota.dss.sessions.CartaIcmSessionBean.addCartaIcm(CartaIcmSessionBean.java:89)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:660)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:77)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:107)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:237)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:98)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:130)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
... 14 more
Caused by: net.sf.hibernate.MappingException: Dialect does not support native key generation
at net.sf.hibernate.dialect.Dialect.getIdentitySelectString(Dialect.java:221)
at net.sf.hibernate.persister.AbstractEntityPersister.<init>(AbstractEntityPersister.java:499)
at net.sf.hibernate.persister.EntityPersister.<init>(EntityPersister.java:665)
at net.sf.hibernate.persister.PersisterFactory.create(PersisterFactory.java:29)
at net.sf.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:207)
at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:627)
at net.sf.hibernate.jmx.HibernateService.buildSessionFactory(HibernateService.java:162)
at net.sf.hibernate.jmx.SessionFactoryStub.getImpl(SessionFactoryStub.java:74)
... 29 more
Estou quebrando a cabeça com este problema e nao consigo fazer isso funcionar:


javax.naming.NameNotFoundException: HibernateSessionFactory not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:495)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:503)
at org.jnp.server.NamingServer.getObject(NamingServer.java:509)
at org.jnp.server.NamingServer.lookup(NamingServer.java:282)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:493)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:472)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at br.com.toyota.dss.sessions.CartaIcmSessionBean.openSession(CartaIcmSessionBean.java:65)
at br.com.toyota.dss.sessions.CartaIcmSessionBean.addCartaIcm(CartaIcmSessionBean.java:96)
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:660)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:77)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:107)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:237)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:98)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:130)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
at org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:313)
at org.jboss.ejb.Container.invoke(Container.java:738)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:383)
at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source)
at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:135)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:108)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80)
at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:111)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
at $Proxy1.addCartaIcm(Unknown Source)
at br.com.toyota.dss.sessions.CartaIcmSessionBeanTest.setUp(CartaIcmSessionBeanTest.java:63)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:392)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:276)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:167)



Abaixo o session bean miserável responsável pelo erro:



Agora o mapping de configuraçao:

<SvdCartaIcm.hbm.xml>


<jndi.properties>


Se alguém encarecidamente puder me ajudar (e salvar a pouca sanidade que me resta) eu ficarei muito grato.

[]´s
Na documentação do taglibs do struts tem tem tudo.
Vc é fortemente aconselhado a utilizar o jstl no lugar das taglibs do struts.

[url]
http://jakarta.apache.org/struts/api/org/apache/struts/taglib/bean/package-summary.html#package_description
[/url]

Bom, de qualquer maneira

use define para tratar composições de maneira mais fácil:


ou, use múltiplas propriedades


[]´s
O que é wygwys?


what you see what you get
Tipo, o que você está vendo na tela é o que vai ser renderizado.
Exemplo: Word do windows.

ok?
Minha opinião:
  • Existem duas soluções para isto.
    E, o seu código poderia ser refatorado.

  • Primeiro...
    usando taglibs você poderia facilmente exibir somente o que vc deseja.


    Se a variavel estiver presente em qualquer escopo, código restrito é apresentado. Senão... o código exceção é renderizado. Note que exceção pode ser um redirect por exemplo.

    Outra forma de fazer isso é usando filter

    Para usar filter crie uma classe que implemente filter. Descreva as operações do filtro em doFilter e declare o filter no web.xml desse jeito:



    Qualquer dúvida dá uma olhada em ...
    http://java.sun.com/products/servlet/Filters.html

    Segundo ...
    Repetições em páginas podem ser evitadas com o uso de um template.
    Que tal utilizar "tiles" para preservar a estrutura de suas páginas ?

    (Tiles é um subprojeto do projeto Struts da Jakarta.)

    []´s
    [/url]
    Eclipse - melhor IDE para programação das classes. É de propósito geral, mas integra as principais ferramentas java: junit, ant, javadoc. Tem também refactoring, ótima ferramenta para cvs e uma navegabilidade muito boa

    Netbeans- melhor IDE para jsp. tem autocomple e incorpora novas tags de acordo com sua IDE. Tem uma interfacce wygwys.

    IntelliJ - acho que é melhor interface wygwys, que o eclipse não tem nativa e o netbeans é muito limiado. É fechado e pago, ao contrário das outras duas IDE (abertas)
    Bom, abra-se uma excessão:
    Se o nome do diretório extraído é alguma coisa
    tipo xxx.yyy.zzz.qualquer coisa...
    Dai é melhor colocar direto no diretório de plugin.
    Exemplo:
    struts console

    Fallow
    Tenho alguma experiência com isso:
    1) Amigos que procuram emprego no ramo de IT
    2) Amigos que conseguiram emprego
    3) Troquei altas idéias com uma head-hunter
    4) Eu mesmo já procurei trampo nas situações 1 e 2

    Primeiro: o mercado é cruel. É meio parecido com a idéia do Pans. Faz isso e o cronômetro está rodando. Nem Einstein teria capacidade de aprender jdbc em 30 minutos. Um abraço para quem não está qualificado... Não adianta cara... vc tem que ter um currículo bonitinho (com um monte de certificados e o título de uma faculdade boa, inglês é um bom diferencial...)

    Segundo: qualificado ... você está empregado. Onde ? Vai depender da viagem do pessoal de RH. Só estes seres conseguem prever com suas bolas de cristal, quem se enquadra no perfil desejado pela empresa.
    Saber interagir com pessoas abre um leque de possibilidades ainda maior.

    Terceiro: ninguém está procurando cientistas da computação no mercado. O mercado quer gente que resolva o seguinte problema estúpido: Persistir informações ... foco em pessoas práticas

    é isso.
    ces tão zuando ... ;)

    Parece que ninguém se matou garimpando os melhores plugins para Eclipse.

    Bom para começar, procure plugins em:
    http://www.eclipse.org/community/plugins.html
    http://sourceforge.net

    Depois minha seleção de plugins:
    <solar> (jsp, css, html... não tem auto-complete)
    <jboss-ide> (quer controlar o jboss sem sair do eclipse ?)
    <struts-console> (o melhor disparado plugin para struts)
    <jfacedb> (quer ver o conteúdo de QUALQUER banco de dados? fazer consultas , etc ? Acho jfacedb indispensável)
    <checkstyle> (para escrever o código direitinho)
    <emf> (eclipse modeling framework... codificação + documentação num só lugar)

    Todos acimas já foram BEM testados, e tem licença pública.
    Ao contrário do omondo (que é fechado)

    Ainda estou testando ...

    jndi-exporer (para visualizar a estrutura do jndi)

    doclet-assistant (nome auto-explicativo)
    eclipsecolorer-take (ajuda a editar xml, java, xsd)
    formatjava (para dar um "format" no código de um pacote inteiro)

    jdepend4eclipse (design qualities metrics)
    eclipse metrics plugin (outra ferramenta de métrica de qualidade)

    Eclipse Plugin JavaScript Editor (vai dizer que vocês nunca quiseram editar um javascript de forma decente ???)

    Se alguém tiver alguma dúvida como usar alguns dos plugins ... pode no forum . Se alguém quiser saber onde se encontra (confesso que fiquei com preguiça de colocar todas as urls ...) dá uma procurada no google.

    []´s
    rodrigo
    Talvez O problema esteja na estrutura de dados.
    Um outro approaching ...
    todo grupo tem um tamanho ...
    itere até o final do grupo ...
    feito isso ... crie um novo grupo...
    (quando termina essa iteração ?)

    enquanto (continua iteração) {
    Grupo grupo = novo grupo () ;
    para (iterator = grupo.iterator(); iterator.temProximo();){
    element = iterator.next();
    faz alguma coisa com element;
    }
    }
    Só reforçando a idéia do Daniel ...
    Bean não faz nada ... só carrega informação ...


    Então fica assim

    jsp ... apresenta as informações contidas num ActionForm
    ... envia as informações de uma página ... via form para uma ação

    acao ... popula um form fazendo requisições a camada de negócio
    envia as informações de um form para serem tratadas pela camada de negócio

    Objetos de negócio ... persistem as informações oriundas do controle (vulgo
    actions)
    .... buscam informações persistidas em seu repositório (geralmente um banco de dados).

    html fica no jsp.
    informação trafega via ActionForm
    Ação só trata informações através destes ActionForms
    É difícil rastrear um erro em qualquer sistema, mas especialmente servlets.
    Minha sugestão é seguir os seguintes passos:

    1) Rode o servidor jsp sem nenhum projeto... funcionou ?
    1.a) sim ... vá para o segundo passo ...
    1.b) não ... dê um jeito nesse problema

    2) Coloque um projeto com um simples jsp ... funcionou ?
    2.a) sim ... Vá para o terceiro passo...
    2.b) Não ... dê um jeito nesse problema

    3) Crie uma aplicação que acesse uma ação... funcionou ?
    3.a) sim... (continue confiante, você está indo bem) Vá para o quarto passo...
    3.b) não ... Mmm , algum problema com o servlet. Verifique o web.xml

    4) Faça um junit para a sua classe de banco ... funcionou ?
    4.a) sim... (quase lá) vá para o último passo
    4.b) não ... problemas com a conexão com o banco de dados. Verifique se o jdbc está no classpath. No caso de algum container, coloque o jdbc no lib do servidor de aplicação.

    5) Teste o view-control do seu projeto ... funcionou ?
    5.a) Bom, então coloque tudo junto e puxe uma vela... É para funcionar (mas tem que ter fé ... senão todos estes passos místicos não servem para nada)
    5.b) não ... ah-ha! O problema está em alguma coisa obscura por trás deste seu jsp/action ... Algum biblioteca faltando por exemplo, você já sabe que seu servidor está funcionando muito bem, independente da path, etc. Mão na massa... encontre o problema no lugar certo.

    Acho que é isso,
    Boa sorte
    O diretório de deploy contém algum arquivo com problema (corrompido por exemplo), ou não é jar, ear ou war (um arquivo binário por exemplo) .

    Para resolver isto verifique os arquivos que estão no diretório de deploy.
    []´s
    Rodrigo
    Isto é uma questão de fé...

    class Qualquercoisa {
    public static void main (String[] args) {
    int b = 5;
    b = b++;
    System.out.println("b: " + b);
    }
    }

    b = 5

    Quer dizer, pós-operação depois de "=" não vale de nada. Cruel.
     
    Índice dos Fóruns » Perfil de rodrigousp » Mensagens enviadas por rodrigousp
    Ir para:   
    Powered by JForum 2.1.8 © JForum Team