- This topic has 3 replies, 2 voices, and was last updated 16 years, 6 months ago by Loyal Water.
-
AuthorPosts
-
Klaus VillacaMemberHi everyone,
I’m facing one strange problem, my system work’s well on Tomcat 6, although not into JBOSS 4.2.2.
Here is my data-source :<datasources> <local-tx-datasource> <jndi-name>SPE</jndi-name> <connection-url>jdbc:mysql://localhost:3306/pmesp</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>user</user-name> <password>12345678</password> <min-pool-size>5</min-pool-size> <max-pool-size>50</max-pool-size> <idle-timeout-minutes>5</idle-timeout-minutes> <exception-sorter-class-name>com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter</exception-sorter-class-name> <valid-connection-checker-class-name>com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker</valid-connection-checker-class-name> <metadata> <type-mapping>mySQL</type-mapping> </metadata> </local-tx-datasource> </datasources>
My persistence.xml
<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="SPEPU" transaction-type="JTA"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>java:SPE</jta-data-source> <class>br.gov.sp.polmil.spe.persistencia.Fucctt</class> <class>br.gov.sp.polmil.spe.persistencia.Instituicao</class> <class>br.gov.sp.polmil.spe.persistencia.Instinstr1</class> <class>br.gov.sp.polmil.spe.persistencia.Diarioclasse</class> <class> br.gov.sp.polmil.spe.persistencia.Diarioclasseitens </class> <class>br.gov.sp.polmil.spe.persistencia.Abrpeopm</class> <class>br.gov.sp.polmil.spe.persistencia.Instinstr1</class> <properties> <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" /> <property name="hibernate.connection.url" value="jdbc:mysql://10.60.51.54:3306/pmesp" /> <property name="hibernate.connection.username" value="user" /> <property name="hibernate.connection.password" value="12345678" /> </properties> </persistence-unit> </persistence>
One course managed bean
package br.gov.sp.polmil.spe.beans; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import javax.faces.component.html.HtmlDataTable; import javax.faces.model.SelectItem; import br.gov.sp.polmil.spe.classes.ScreenMsg; import br.gov.sp.polmil.spe.persistencia.Curso; import br.gov.sp.polmil.spe.persistencia.CursoDAO; import br.gov.sp.polmil.spe.persistencia.EntityManagerHelper; import br.gov.sp.polmil.spe.persistencia.InstrutorCurso; import br.gov.sp.polmil.spe.persistencia.InstrutorCursoDAO; public class CadastroCurso { private Integer idCurso; private String descricao; private String local; private Curso curso; private CursoDAO cursoDAO; private HtmlDataTable dataTable; private List<CadastroCurso> cursoLista = new ArrayList<CadastroCurso>(); //private List<Uf> ufList = new ArrayList<Uf>(); private List<SelectItem> cursoItem = new ArrayList<SelectItem>(); private EntityManagerHelper emh; /* * Construtores */ public CadastroCurso(){ super(); } public CadastroCurso(String descricao, String local){ super(); this.descricao = descricao; this.local = local; } /* * Getters and Setters */ public Integer getIdCurso() { return idCurso; } public void setIdCurso(Integer idCurso) { this.idCurso = idCurso; } public HtmlDataTable getDataTable() { return dataTable; } public void setDataTable(HtmlDataTable dataTable) { this.dataTable = dataTable; } public List<CadastroCurso> getCursoLista() { if (cursoLista.size() == 0) { cursoLista = new ArrayList<CadastroCurso>(); emh.beginTransaction(); List<Curso> lista = new ArrayList<Curso>(); // Here is the problem!!!! cursoDAO = new CursoDAO(); lista = cursoDAO.findAll(); for (int i=0; i < lista.size(); i++) { curso = new Curso(); curso = lista.get(i); cursoLista.add(new CadastroCurso(curso.getDescricao(),curso.getLocal())); } } return cursoLista; } public void setCursoLista(List<CadastroCurso> cursoLista) { this.cursoLista = cursoLista; } public List<SelectItem> getCursoItem() { return cursoItem; } public void setCursoItem(List<SelectItem> cursoItem) { this.cursoItem = cursoItem; } public String getDescricao() { return descricao; } public void setDescricao(String descricao) { this.descricao = descricao; } public String getLocal() { return local; } public void setLocal(String local) { this.local = local; } /** * salva ou atualiza o registro editado */ public void salvar(){ //Acha o cófigo do Uf na tabela de Ufs if(descricao == ""){ ScreenMsg msg = new ScreenMsg(); msg.screenMsg("Favor informar o nome do Curso", "cursos"); }else{ cursoDAO = new CursoDAO(); try{ emh.beginTransaction(); if(cursoDAO.findById(idCurso) == null){ Integer ult = pegaUltimo(); ult = ult + 1; curso = new Curso(ult,local,descricao); cursoDAO.save(curso); limpar(); }else{ curso = new Curso(idCurso,local,descricao); cursoDAO.update(curso); limpar(); } emh.commit(); emh.closeEntityManager(); }catch (Exception e) { ScreenMsg msg = new ScreenMsg(); msg.screenMsg("Ocorreu erro ao incluir, favor entrar em contato com administrador", "municipios"); EntityManagerHelper.log("save failed", Level.SEVERE, e); } cursoLista = new ArrayList<CadastroCurso>(); } } /** * exclui o registro corrente */ public void excluir(){ List<InstrutorCurso> insCurso = new ArrayList<InstrutorCurso>(); InstrutorCursoDAO insCursoDAO = new InstrutorCursoDAO(); insCurso = insCursoDAO.findByCurso(idCurso); if(insCurso.size()==0){ Curso curso2 = new Curso(); curso2 = cursoDAO.findById(idCurso); curso = new Curso(idCurso,local,descricao); if( curso2 != null){ try { emh.beginTransaction(); cursoDAO.delete(curso); emh.commit(); emh.closeEntityManager(); limpar(); } catch (RuntimeException ex) { ScreenMsg msg = new ScreenMsg(); msg.screenMsg("Não foi possÃvel deletar, favor tentar novamente mais tarde!", "cadresp"); emh.log("delete failed", Level.SEVERE, ex); throw ex; } cursoLista = new ArrayList<CadastroCurso>(); }else{ ScreenMsg msg = new ScreenMsg(); msg.screenMsg("Não existe municipio com este código!", "municipios"); } } } public void limpar(){ idCurso = 0; local = ""; descricao = ""; } /* * Método para selecionar o dado que esta no htmldatatable e jogar os dados na tela */ public void edita(){ CadastroCurso s = (CadastroCurso) dataTable.getRowData(); curso = new Curso(); List<Curso> curso2 = new ArrayList<Curso>(); cursoDAO = new CursoDAO(); curso2 = cursoDAO.findByDescricao(s.getDescricao()); // busca o registro pelo nome do curso idCurso = curso2.get(0).getIdcurso(); curso = cursoDAO.findById(idCurso); local = curso.getLocal(); descricao = curso.getDescricao(); } public String voltar() { return "volta"; } public Integer pegaUltimo() { cursoDAO = new CursoDAO(); List<Curso> ultimo = new ArrayList<Curso>(); ultimo = cursoDAO.findAll(); Integer i = ultimo.get(ultimo.size()-1).getIdcurso(); return i; } }
When I’d use Tomcat 6, all works fine! But on JBOSS 4.2.2 I’d have this errors…
type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: /cadastrocurso.jsp(100,8) '#{cadastroCurso.cursoLista}' Error reading 'cursoLista' on type br.gov.sp.polmil.spe.beans.CadastroCurso javax.faces.webapp.FacesServlet.service(FacesServlet.java:256) org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147) org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256) org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362) org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) root cause org.apache.jasper.el.JspELException: /cadastrocurso.jsp(100,8) '#{cadastroCurso.cursoLista}' Error reading 'cursoLista' on type br.gov.sp.polmil.spe.beans.CadastroCurso org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:107) javax.faces.component.UIData.getValue(UIData.java:582) javax.faces.component.UIData.getDataModel(UIData.java:1063) javax.faces.component.UIData.setRowIndex(UIData.java:417) com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:85) javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:788) javax.faces.component.UIData.encodeBegin(UIData.java:879) javax.faces.component.UIComponent.encodeAll(UIComponent.java:884) javax.faces.render.Renderer.encodeChildren(Renderer.java:137) javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812) javax.faces.component.UIComponent.encodeAll(UIComponent.java:886) javax.faces.component.UIComponent.encodeAll(UIComponent.java:892) com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176) org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108) org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147) org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256) org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362) org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) root cause java.lang.ExceptionInInitializerError br.gov.sp.polmil.spe.beans.CadastroCurso.getCursoLista(CadastroCurso.java:61) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) javax.el.BeanELResolver.getValue(BeanELResolver.java:62) javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53) com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64) org.apache.el.parser.AstValue.getValue(AstValue.java:97) org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101) javax.faces.component.UIData.getValue(UIData.java:582) javax.faces.component.UIData.getDataModel(UIData.java:1063) javax.faces.component.UIData.setRowIndex(UIData.java:417) com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:85) javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:788) javax.faces.component.UIData.encodeBegin(UIData.java:879) javax.faces.component.UIComponent.encodeAll(UIComponent.java:884) javax.faces.render.Renderer.encodeChildren(Renderer.java:137) javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812) javax.faces.component.UIComponent.encodeAll(UIComponent.java:886) javax.faces.component.UIComponent.encodeAll(UIComponent.java:892) com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176) org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108) org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147) org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256) org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362) org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) root cause java.lang.ClassCastException: org.hibernate.search.event.FullTextIndexEventListener cannot be cast to org.hibernate.event.PostInsertEventListener org.hibernate.cfg.search.SearchConfiguration.enableHibernateSearch(SearchConfiguration.java:81) org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:856) org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669) org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126) javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51) javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33) br.gov.sp.polmil.spe.persistencia.EntityManagerHelper.<clinit>(EntityManagerHelper.java:20) br.gov.sp.polmil.spe.beans.CadastroCurso.getCursoLista(CadastroCurso.java:61) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) javax.el.BeanELResolver.getValue(BeanELResolver.java:62) javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53) com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64) org.apache.el.parser.AstValue.getValue(AstValue.java:97) org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101) javax.faces.component.UIData.getValue(UIData.java:582) javax.faces.component.UIData.getDataModel(UIData.java:1063) javax.faces.component.UIData.setRowIndex(UIData.java:417) com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:85) javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:788) javax.faces.component.UIData.encodeBegin(UIData.java:879) javax.faces.component.UIComponent.encodeAll(UIComponent.java:884) javax.faces.render.Renderer.encodeChildren(Renderer.java:137) javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812) javax.faces.component.UIComponent.encodeAll(UIComponent.java:886) javax.faces.component.UIComponent.encodeAll(UIComponent.java:892) com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176) org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108) org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147) org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256) org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362) org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) note The full stack trace of the root cause is available in the JBossWeb/2.0.1.GA logs.
The JSF page, just one part of it!
<tr style="background-color: gray; color: white;"> <td colspan="3"> Cadastro de Cursos </td> <td width="50"> </td> <td width="50"> <h:commandLink action="#{cadastroInstrutor.logout}"> <h:outputText value="Logout" /> </h:commandLink> </td> </tr> </table> <hr> <table width="100%"> <tr> <td> Descrição: </td> <td> <h:inputText value="#{cadastroCurso.descricao}" style="width: 321px; height: 24px" /> </td> </tr> <tr> <td> Local: </td> <td> <h:inputText value="#{cadastroCurso.local}" style="width: 321px; height: 24px" /> </td> </tr> </table> <br> <h:message style="color:#ff0000" for="cursos" /> <h:dataTable border="1" value="#{cadastroCurso.cursoLista}" binding="#{cadastroCurso.dataTable}" var="item" first="0" rows="200" width="100%" dir="ltr" frame="hsides" rules="all" style="font-family: verdana; font-size: 10px; scrool=auto text-align:center;"> <h:column id="numrersp"> <f:facet name="header"> <h:outputText value="Descrição" /> </f:facet> <h:commandLink action="#{cadastroCurso.edita}" style="font-weight: bold;" value="#{item.descricao}" /> </h:column> <h:column id="uf" rendered="true"> <f:facet name="header"> <h:outputText value="Local" /> </f:facet> <h:outputText style="font-weight: bold;" value="#{item.local}" /> </h:column> </h:dataTable>
I’m using the MyEclipse 6.0.1. Using the debug I could see that the problem happens when
the entitymanager try to be instantiated.
Please if someone could help me, I’m with a little bit rush for this.
Thanks in advance!
Loyal WaterMemberThere is some problem with the libs I guess. I’ll check this issue with the dev team. In the mean time, can you cross post on the JBoss/JPA forum as well.
Klaus VillacaMemberHi guys,
I’d have discovered the problem…
First I did put into mysql-ds.xml after < jndi-name > the follow line < use-java-context >false< /use-java-context > for that the persistence.xml could find the DS, and
on persistence.xml < jta-data-source >MySqlDS< /jta-data-source > .
Because that MyEclipse put all libs into deploy, I did have to remove all lib’s that JBOSS already have it.
After that all works properly.
Loyal WaterMemberGlad you got this to work. Thanks for letting me know.
-
AuthorPosts