Tomcat lib-configuration (axis2, hibernate, logging)

Status
Nicht offen für weitere Antworten.
M

Mario___

Gast
Hallo zusammen,

kurz mal zur web-applikation: Die Anmeldung geht über einen eigenen Realm, welcher mittels hibernate aus einer Userdatenbank die notwendigen Daten liest (myrealm.jar), die notwendigen jar files habe ich alle in die server/lib des tomcat gegeben, sieht jetzt so aus:

hineinkopiert:
myrealm.jar
asm-3.1.jar
cglib-nodep-2.1_3.jar
commons-collections-2.1.1.jar
commons-logging-1.0.4.jar
dom4j-1.6.1.jar
ejb3-persistence.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate3.jar
jta.jar
junit-4.5.jar
log4j-1.2.15.jar
mysql-connector-java-5.1.5-bin.jar
own-services-api.jar

waren schon drin:
annotations-api.jar
catalina-ant.jar
catalina-ha.jar
catalina-tribes.jar
catalina.jar
el-api.jar
jasper-el.jar
jasper-jdt.jar
jasper.jar
jsp-api.jar
servlet-api.jar
tomcat-coyote.jar
tomcat-dbcp.jar
tomcat-i18n-es.jar
tomcat-i18n-fr.jar
tomcat-i18n-ja.jar

Die Webapplikation selber muss auf eine andere Datenbank (auch mit hibernate), damit sieht die WEB-INF/lib so aus:

antlr-2.7.2.jar
asm-3.1.jar
asm-commons-3.1.jar
c3p0-0.9.1.2.jar
catalina.jar
cglib-nodep-2.1_3.jar
commons-beanutils-1.6.jar
commons-chain-1.1.jar
commons-collections-2.1.1.jar
commons-csv-20070724.jar
commons-digester.jar
commons-fileupload-1.2.1.jar
commons-io-1.4.jar
commons-lang-2.4.jar
commons-logging-1.0.4.jar
commons-logging-api-1.1.jar
commons-validator-1.3.1.jar
dom4j-1.6.1.jar
ejb3-persistence.jar
FontBox-0.1.0-dev.jar
freemarker-2.3.8.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate3.jar
iText-2.1.3.jar
iText-rtf-2.1.3.jar
jta.jar
log4j-1.2.15.jar
mail.jar
ognl-2.6.11.jar
original-xwork-2.1.2-SNAPSHOT.jar
oro-2.0.8.jar
PDFBox-0.7.3.jar
myrelease-management.jar
myservices-api.jar
myservices-impl.jar
myservices.jar
myPropertyReader.jar
struts-core-1.3.5.jar
struts2-config-browser-plugin-2.1.3-SNAPSHOT.jar
struts2-convention-plugin-2.1.3-SNAPSHOT.jar
struts2-core-2.1.3-SNAPSHOT.jar
struts2-pell-multipart-plugin-2.1.3-SNAPSHOT.jar

Das ganze hat gut funktioniert. Nun musste ich ein WebService (mit axis2) einbinden, welches jetzt services der Webapplikation benutzt, also nur code generieren und ein paar zeilen selber schreiben. + folgende jars im WEB-INF/lib

axiom-api-1.2.7.jar
axiom-impl-1.2.7.jar
axis2-adb-1.4.1.jar
axis2-jaxws-1.4.1.jar
axis2-kernel-1.4.1.jar
backport-util-concurrent-3.1.jar
commons-httpclient-3.1.jar
neethi-2.0.4.jar
woden-api-1.0M8.jar
wsdl4j-1.6.2.jar
XmlSchema-1.4.2.jar

Wenn jetzt aber das WebService aufgerufen wird gibt es folgende Exception:

SCHWERWIEGEND: Servlet.service() for servlet AxisServlet threw exception
org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:385)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at org.apache.axis2.context.MessageContext.<clinit>(MessageContext.java:105)
at org.apache.axis2.context.ConfigurationContext.createMessageContext(ConfigurationContext.java:486)
at org.apache.axis2.transport.http.AxisServlet.createMessageContext(AxisServlet.java:626)
at org.apache.axis2.transport.http.AxisServlet.createMessageContext(AxisServlet.java:704)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:121)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)


Ich weiß das es wegen der commons-logging-1.0.4.jar im (WEB-INF/lib) und commons-logging-1.0.4.jar (im server/lib) ist, aber diese werden dort gebraucht. Entferne ich die commons-logging-1.0.4.jar im server/lib muss ich den rest auch entfernen bis zu den hibernate Klassen und damit kommt myreal.jar auch in die WEB-INF/lib, aber da findet tomcat es beim starten nicht. Umgekehrt wenn ich es im WEB-INF/lib entferne (+ hibernate-jars), wird hibernate-jars im server geladen und findeten die mapping-Klassen nicht mehr (die in der Webapplikation).

Verzwickte situation! Ich hoffe jemand weiß wie ich da rauskomme.

lg Mario
 
M

maki

Gast
commons-logging-1.0.4.jar
commons-logging-api-1.1.jar
???

Die API sollte übrigens reichen, auf jedenfall sollte niemals die commons-logging Implementierung verwendet werden, da diese eine Fehlkonstruktion ist.
 
M

Mario___

Gast
danke für die schnelle antwort, jetzt verwende ich nur die API im WEB-INF/lib und server/lib und es funktioniert!

wusste nicht das die commons-logging eine Fehlkonstruktion ist, werde es mir jetzt aber merken!

VIELEN DANK

:)
 
M

Mario___

Gast
Ok die freude war von kurzer Dauer! Anscheinend hat der rebuild vorhin im eclipse nicht richtig funktioniert, aber dafür hat dann das Webservice funktioniert, jetzt nach einem clean hab ich folgende Exception:

Caused by: org.hibernate.HibernateException: Could not parse configuration: hibernate.cfg.xml
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1500)
at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:990)
at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:69)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1434)
at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:972)
at com.priorit.metis.utils.HibernateUtil.createSessionFactory(HibernateUtil.java:45)
... 31 more
Caused by: org.dom4j.DocumentException: org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactory Nested exception: org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactory
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1490)
... 36 more


Die Situtation ist die gleiche wie vorhin, nur das common-logging-1.0.4.jar komplett weg ist und dafür im server lib die common-logging-api-1.1.jar drin
 
G

Gast

Gast
Genauer gesagt, das login durch den Realm hat funktioniert, dann sollte die Connection auf die Applikationsdatenbank hergestellt werden und dann geschieht das oben beschriebene
 
M

maki

Gast
Kannst Du das bitte mal genauer ausführen?
Die commons-logging hat leider einen viel besseren Ruf (durch das commons-* im Namen) als sie verdient.

Als zwischenschicht/API kann man sie zwar gefahrlos verwenden, aber sobald man die commons-logging Implementerung zum Loggen selbst verwendet (also nicht nur um die eigentliche Implementierung wie zB. log4j zu nutzen), fangen die Probleme an, sie haben den sog. "Classloader Hack" um automatich herauszufinden wie geloggt werden soll falls es nicht explizit konfiguriert ist.

http://www.google.co.uk/search?num=...ns+logging+classloader+hack&btnG=Search&meta=

Dieses verhalten führt auf bestimmten Umgebungen (OSGi, manche EJB App Server) zu Memory Leaks und anderen "lustigen" Problemen.

imho finger weg davon wenn möglich, log4j ist doch mehr als ausreichend, und wenn man unabhängig sein will, gibt es ja noch slf4j.
 

byte

Top Contributor
Achso ok. Danke für die Info. Wir benutzen die Commons Logging API + log4j, daher bin ich hellhörig geworden. :)
 
M

Mario___

Gast
Das Problem liegt ja darin dass der Realm auch hibernate verwendet und somit das common-logging in konflikt kommt.

Im Realm verwende ich hibernate nur um die Connection zur Datenbank zu managen. In der context.xml bzw. server.xml von Tomcat darf ich keine einträge machen, deshalb kann ich auch nicht die <Resource name=..../> verwenden.

Hat jemand eine alternative zu hibernate um die Datenbankverbindung zu managen?
 
M

Mario__

Gast
Habe jetzt statt hibernate, smartpool als connection pool verwendet, somit kann ich das common-logging aus dem server lib entfernen und das problem besteht nicht mehr
 
M

maki

Gast
Jaja, die "gute" alte commons-logging Sch.....

Glückwunsch an dich Mario.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Tomcat default Configuration Server einrichten und konfigurieren 3
KonradN Apache Tomcat Schwachstelle (Versionen 8, 9, 10 und 11) Server einrichten und konfigurieren 0
S Tomcat 9 mit Datasource Realm auf eine H2 Datenbank Server einrichten und konfigurieren 3
D Tomcat context.xml wo ablegen im Projekt? Server einrichten und konfigurieren 3
H Apache Tomcat Installation/Konfiguration arbeitet nicht einwandfrei Server einrichten und konfigurieren 5
S Tomcat Server nicht erreichbar Server einrichten und konfigurieren 21
pkm Lassen sich mit Tomcat bestimmte URL-Patterns verbieten? Server einrichten und konfigurieren 0
B Tomcat Manager: umbebannt, zurückbenannt, jetzt nur noch 403-Fehler Server einrichten und konfigurieren 8
E Tomcat Eclipse Problem Server einrichten und konfigurieren 0
T Tomcat 8 unter STS Server einrichten und konfigurieren 0
K Tomcat - Java-Version? Server einrichten und konfigurieren 5
A Tomcat und JNI Library Server einrichten und konfigurieren 0
K Tomcat: Host Manager -> 404 Server einrichten und konfigurieren 1
K Tomcat: maximale Anmeldeversuche einschränken (funktioniert nicht) Server einrichten und konfigurieren 1
F Tomcat startet Anwendung nicht im Windows-Service-Modus Server einrichten und konfigurieren 1
C [Nagios] Tomcat-Logfile überwachen Server einrichten und konfigurieren 1
T Tomcat 7 JSTL Server einrichten und konfigurieren 0
S Tomcat 6.0.20 sessionCookiePath in context.xml wird ignoriert Server einrichten und konfigurieren 1
I Tomcat Host mit JDBC-Resource Server einrichten und konfigurieren 0
K Tomcat als Service, falsche Farbe Server einrichten und konfigurieren 0
M Tomcat Proxy - erkennt Tomcat httpd.conf Server einrichten und konfigurieren 0
HarleyDavidson Tomcat Instanznamen ändern Server einrichten und konfigurieren 1
R Tomcat und Zertifikat-Import Server einrichten und konfigurieren 0
M Tomcat - Deploy war - Verbindungsfehler Server einrichten und konfigurieren 4
FINF_AW_Alex WebLogic, Glassfish, Tomcat.... Server einrichten und konfigurieren 3
D Daten auf Apache Tomcat Server ablegen, möglich ? Server einrichten und konfigurieren 1
C DataSource mit Tomcat einrichten Server einrichten und konfigurieren 1
T tomcat blockiert Server einrichten und konfigurieren 0
R Verbindung zwischen Apache und Tomcat über mod_jk funktioniert nur sporadisch Server einrichten und konfigurieren 0
MadMG Tomcat via Apache Proxy + Websockets Server einrichten und konfigurieren 4
A Tomcat bekommt keine Schreibrechte für webapps Server einrichten und konfigurieren 6
Q Tomcat-Cluster und Arbeitsspeicher Server einrichten und konfigurieren 4
G Tomcat 7 mit Apache 2 verbinden über mod_jk Server einrichten und konfigurieren 3
P Tomcat unter xampp nachinstallieren Server einrichten und konfigurieren 4
R Cacht Tomcat/axis2 Klassen? Server einrichten und konfigurieren 3
MQue Tomcat PermSpace Server einrichten und konfigurieren 9
Mike90 Tomcat 7 INFO: The APR based Apache Tomcat Native ... Server einrichten und konfigurieren 3
T GlassFish anstatt Apache Tomcat Server einrichten und konfigurieren 29
G Tomcat 6.0 von https auf http umstellen Server einrichten und konfigurieren 2
W Tomcat 7 und Eclipse Birt Viewer 3.7.2 - Datenbankprobleme Server einrichten und konfigurieren 2
T Permgen space Tomcat Server einrichten und konfigurieren 7
P Tomcat Context Server einrichten und konfigurieren 3
H Glassfish auf Tomcat ? Server einrichten und konfigurieren 2
E Tomcat/Jasper checkt nicht mehr auf Änderungen Server einrichten und konfigurieren 4
L Tomcat webapps Pfad nach Eclipse workspace verschieben Server einrichten und konfigurieren 6
F Tomcat Session timeout unendlich Server einrichten und konfigurieren 7
M JBoss und Tomcat Server einrichten und konfigurieren 8
schlingel Tomcat für den Produktiveinsatz Server einrichten und konfigurieren 14
E JSF auf Tomcat ? Server einrichten und konfigurieren 5
X3TitanCore Tomcat Datensynchronisation Server einrichten und konfigurieren 6
G Tomcat außerhalb des Servers nicht erreichbar Server einrichten und konfigurieren 6
P Ständige Fehlermeldungen bei Tomcat 5.5 Server einrichten und konfigurieren 11
A Tomcat in Eclipse Server einrichten und konfigurieren 5
T Apache Tomcat - mehere Instanzen - Session Problem Server einrichten und konfigurieren 7
K Apache2/Tomcat URL umschreiben Server einrichten und konfigurieren 6
M Hardwareempfehlung für TOMCAT Server Server einrichten und konfigurieren 8
ruutaiokwu jasper compiler problem in tomcat!!! Server einrichten und konfigurieren 3
J Tomcat 7 Probleme bei vorhandener context.xml Server einrichten und konfigurieren 1
B Webproject + Tomcat + SSL Server einrichten und konfigurieren 15
P Tomcat sehr langsam Server einrichten und konfigurieren 5
D Tomcat log lesen Server einrichten und konfigurieren 2
K Tomcat von remote nicht erreichbar Server einrichten und konfigurieren 14
W Tomcat 5.5 mit Apache2 + mod_jk (Debian Etch) Server einrichten und konfigurieren 2
S bestimmte user agenten sperren mit tomcat Server einrichten und konfigurieren 5
F Tomcat Klassenlader Server einrichten und konfigurieren 3
G Tomcat https Server einrichten und konfigurieren 3
N Weiterleitung Apache mit Tomcat über mod_jk funktioniert nicht... Server einrichten und konfigurieren 7
F Verständnisfrage zu Tomcat, Apache & mod_jk Server einrichten und konfigurieren 8
S Apache 2.2 und Tomcat 6 - Resource not found Server einrichten und konfigurieren 5
V Keystore Type für Tomcat ändern Server einrichten und konfigurieren 2
E Tomcat und Eclipse Server einrichten und konfigurieren 4
N JSF-Facelets auf Tomcat - ich krieg's nicht hin Server einrichten und konfigurieren 10
G Tomcat socket Connection Server einrichten und konfigurieren 3
I JSF Entwicklung mit Eclipse und Tomcat 6 unter Gentoo Server einrichten und konfigurieren 8
D Tomcat V-Host Context Problem Server einrichten und konfigurieren 3
A Mehrere Tomcat Instanzen auf Basis einer Tomcat Installation Server einrichten und konfigurieren 1
M Tomcat oder Applicationserver Server einrichten und konfigurieren 3
M Tomcat oder sonstiger Webserver für mehrere Projekte Server einrichten und konfigurieren 5
K apache, tomcat mysql einrichten Server einrichten und konfigurieren 6
D Tomcat für SSLv2 konfigurieren Server einrichten und konfigurieren 6
H Tomcat Startseite einrichten Server einrichten und konfigurieren 3
B Tomcat Welcome-Page aus Eclipse nicht erreichbar Server einrichten und konfigurieren 4
0din Webspace mit Tomcat etc. Server einrichten und konfigurieren 4
A Standard-Webapp in Tomcat 6 - wie konfigurierbar? Server einrichten und konfigurieren 3
0din Tomcat unter Eclipse einbinden Server einrichten und konfigurieren 7
X3TitanCore Tomcat installieren Server einrichten und konfigurieren 2
R Fehler beim TOMCAT, davor ging es noch! Server einrichten und konfigurieren 1
E tomcat installation Server einrichten und konfigurieren 4
J Tomcat: shutdown.sh script funktioniert plötzlich nicht mehr Server einrichten und konfigurieren 3
D Tomcat auf anderer Maschine als Eclipse Server einrichten und konfigurieren 8
P maven-tomcat-plugin redeploy funktioniert nicht? Server einrichten und konfigurieren 6
P Tomcat 6.x - context path wird nicht richtig gesetzt durch MAven2 Plugin Server einrichten und konfigurieren 16
GFEMajor Von Tomcat auf JBoss EJB mit Sicherheit Server einrichten und konfigurieren 2
F tomcat deutsch starten Server einrichten und konfigurieren 8
A Tomcat und SLL Client Authentication Server einrichten und konfigurieren 2
P Tomcat Probleme beim einrichten Server einrichten und konfigurieren 2
B TOMCAT AXIS : Probleme bei parallele Requests Server einrichten und konfigurieren 6
R Tomcat: The requested resource () is not available Server einrichten und konfigurieren 8
G Tomcat server.xml einrichten Server einrichten und konfigurieren 1
S Tomcat 4 als Dienst // Setzen der JAVA_OPTS Server einrichten und konfigurieren 1

Ähnliche Java Themen

Neue Themen


Oben