Tomando voadora do Hibernate

13 respostas
L

Moçada, comecei a me aventurar com o Hibernate (nunca tinha mexido com um framework assim antes) e estou espantado com a surra pra começar a ver os primeiros resultados.
Aparentemente eu estava tendo um monte de problema com dependências entre as libs, aí fui baixando uma aqui e outra ali, me orientando sempre com as mensagens de erro, mas agora não sei mais o que está errado.
Estou tentando criar o banco (no mysql) através de anotações nas classes de modelo, mas logo que a aplicação sobe no tomcat dou de cara com isso:

INFO: Illegal access: this web application instance has been stopped already.  Could not load java.net.BindException.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1273)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at com.mysql.jdbc.CommunicationsException.<init>(CommunicationsException.java:155)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2757)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2650)
        at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1366)
        at com.mysql.jdbc.Connection.realClose(Connection.java:4504)
        at com.mysql.jdbc.Connection.cleanup(Connection.java:1975)
        at com.mysql.jdbc.Connection.finalize(Connection.java:3146)
        at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
        at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
        at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
29/11/2008 19:06:27 org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already.  Could not load com.mysql.jdbc.Util.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1273)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at com.mysql.jdbc.CommunicationsException.<init>(CommunicationsException.java:180)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2757)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2650)
        at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1366)
        at com.mysql.jdbc.Connection.realClose(Connection.java:4504)
        at com.mysql.jdbc.Connection.cleanup(Connection.java:1975)
        at com.mysql.jdbc.Connection.finalize(Connection.java:3146)
        at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
        at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
        at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)

Algum palpite? Mto grado desde já!

13 Respostas

L

Nenhuma idéia??

F

De que modo vc iniciou o Tomcat?

Fiz uma pesquisa rápida sobre esse erro e me parece outras pessoas que se depararam com isso, tinham a origem do problema no deploy, ou hotdeploy, enfim…

R

Poste seu persistence.xml para a gente dar uma olhada brother…

F

Ou o hibernate.cfg.xml

T

Não sei se seu problema é o hibernate, embora li muto rapidamente seu post. Dê uma olhada no modo como está fazendo deploy da aplicação. Acredito que vc não está “deployando” (hehehe) a aplicação de maneira correta.

L

Obrigado pelas respostas!

Eu uso o netbeans, então ele que faz o deploy no tomcat que veio configurado nele (eu não fiz nenhum ANT nem nada, só clico no botão verde :-D)

Não estou em casa no momento, mas hoje a noite posto aqui o hibernate.cfg.

L
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>

    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/panacea</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">root123</property>

    <property name="show_sql">true</property>
    <property name="hibernate.generate_statistics">true</property>
    <property name="hibernate.use_sql_comments">true</property>
    <property name="connection.pool_size">10</property>

    <mapping class="modelo.Administrador"/>
    <mapping class="modelo.Tecnico"/>
    <mapping class="modelo.Localizacao"/>
    <mapping class="modelo.TipoServico"/>
    <mapping class="modelo.Solicitacao"/>

  </session-factory>
</hibernate-configuration>
E

Na linha 9 tira a porta

faca isso

<property name="hibernate.connection.url">jdbc:mysql://localhost/panacea</property>

Essa url nao é a do acesso e sim a do banco.

Falo

L

Tirei a porta, mas o erro continua o mesmo :frowning:

F

Onde vc colocou o jar do MySQL?

L

A lib mysql-connector-java-3.1.14-bin.jar está dentro de WEB-INF/lib. Eu a adiciono no projeto através da opção propriedades->bibliotecas do projeto no netbeans, assim como faço com todas as outras libs.
Eu já usei essa lib antes quando fiz persistência só com JDBC e não tive problemas…

F

Já tentou utilizar um Driver do mysql mais atualizado??

Fernando

L

Atualizei o driver. Notei ligeiras mudanças nas mensagens de erro, mas nada muito relevante. Aí voltei a colocar a porta lá na URL e parece que agora simplesmente não tem mais nenhuma mensagem de erro na hora de levantar a aplicação.
No entanto, o banco continua não sendo criado. Na primeira consulta que mando fazer rola uma exceção lá de tabela não encontrada… :frowning:
Se a mensagem de erro na hora de levantar já era estranha, agora não tem mensagem alguma pra saber o que tá errado.

Mas pelo jeito parece que é coisa com o MySql mesmo…

Criado 29 de novembro de 2008
Ultima resposta 2 de dez. de 2008
Respostas 13
Participantes 6