mardi 5 mai 2015

Tomcat Host mit JDBC-Resource

Hallo,

ich komme irgendwie hier nicht weiter.
Ich habe auf meinem Testserver in der server.xml von Tomcat 7 ein Context-Element zum Host "localhost" für mein Projekt hinzugefügt und in dieses Context habe ich eine Resource-Element eingepflegt für meine Datenbankverbindung. Das funktioniert ohne Probleme:

Code:

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
<Context path="/myapp" docBase="myapp" aliases="/js=/var/myapp/js">
    <Resource name="jdbc/myapp" auth="Container"
              type="javax.sql.DataSource" username="xxxx"
              password="xxx" JtaManaged="true"
              defaultAutoCommit="false" driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/datenbankname"
              maxActive="10" maxIdle="1" minIdle="1"
              timeBetweenEvictionRunsMillis="600000" numTestsPerEvictionRun="5"
              validationQuery="select 1"/>
  </Context>
</Host>

Wenn ich das ganze auf einem Produktivserver einrichte dann klappt das nicht. Dort habe ich ein Host-Eintrag mit dem namen "www.meineurl.de" und mein Context hat ein leeren Path, sodass man direkt im Projekt landet, wenn man die URL eingibt. Der Context wird gefunden, da ich in dem Context aliases zu CSS- und JS-Dateien angegeben habe, die korrekt geladen werden. Nur die Datenbank-Verbindung kann er nicht aufbauen. Ich bekomme von OpenJPA die Fehlermeldung:

Code:

org.apache.openjpa.persistence.InvalidStateException: The factory has been closed.  The stack trace at which the factory was closed is available if Runtime=TRACE logging is enabled.
Wieso klappt es auf dem Testserver auf dem Prodserver aber nicht? Wo ist mein Denkfehler? In beiden Fällen gebe ich als Datenbank-URL "jdbc:mysql://localhost:3306/datenbankname" an. Kann dies das Problem sein?


Tomcat Host mit JDBC-Resource

0 commentaires:

Enregistrer un commentaire