[NEWSboard IBMi Forum]
  1. #1
    KM ist offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    950

    Tomcat 8.5.3 und jt400 (Version 9.1)

    Hallo,

    ich habe seit vielen Jahren einen Tomcat-Server (Version 7.0) mit Standard ConnectionPooling (DBCP) laufen. Das ConnectionPooling hat mit dem neuesten jt400-Treiber (jtopen Version 9.1) auch problemlos funktioniert.
    Jetzt wollte ich auf einen Tomcat Version 8.5.3 umstellen. Ansonsten ist die Konfiguration gleich geblieben. Dabei habe ich festgestellt, dass hier nun DBCP2 verwendet wird, was angeblich nur mit einem JDBC Version 4 Treiber funktioniert. Laut utilities.AboutToolbox des jt400 handelt es sich beim neuesten JDBC-Treiber aber um einen Version 3 Treiber.

    Auf jeden Fall erhalte ich beim Starten des Tomcat folgenden Fehler:

    Code:
    org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/DataQueue_Server]]
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:158)
    	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
    	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702)
    	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
    	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1107)
    	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1841)
    	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    	at java.util.concurrent.FutureTask.run(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.AbstractMethodError: com.ibm.as400.access.AS400JDBCConnection.isValid(I)Z
    	at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.isValid(DelegatingConnection.java:925)
    	at org.apache.tomcat.dbcp.dbcp2.PoolableConnection.validate(PoolableConnection.java:282)
    	at org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:359)
    	at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2316)
    	at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2299)
    	at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2043)
    	at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getLogWriter(BasicDataSource.java:1598)
    	at org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.createDataSource(BasicDataSourceFactory.java:596)
    	at org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.getObjectInstance(BasicDataSourceFactory.java:275)
    	at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:94)
    	at javax.naming.spi.NamingManager.getObjectInstance(Unknown Source)
    	at org.apache.naming.NamingContext.lookup(NamingContext.java:840)
    	at org.apache.naming.NamingContext.lookup(NamingContext.java:160)
    	at org.apache.naming.NamingContext.lookup(NamingContext.java:828)
    	at org.apache.naming.NamingContext.lookup(NamingContext.java:174)
    	at org.apache.catalina.core.NamingContextListener.addResource(NamingContextListener.java:1089)
    	at org.apache.catalina.core.NamingContextListener.createNamingContext(NamingContextListener.java:659)
    	at org.apache.catalina.core.NamingContextListener.lifecycleEvent(NamingContextListener.java:252)
    	at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1110)
    	at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133)
    	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
    	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5076)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
    	... 10 more
    Ich vermute jetzt mal ganz stark, dass die Kombination DBCP2 mit jt400 nicht funktioniert.

    Hat jemand von Euch auch solche Erfahrungen gemacht? Liege ich mit meiner Vermutung richtig? Wie kann ich mein Problem nun beheben?

    Vielen Dank schon mal,
    KM

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    17.654
    Wenn man die Dokumentation liest, dann hast du vollkommen Recht!
    Selbst der aktuellste JDBC-Treiber (V7R3) ist ein Typ3-Treiber.
    Somit kannst du DBCP2 halt nicht verwenden.
    Nun musst du halt klären, ob du im Tomcat auf DBCP zurückgehen kannst.
    Wenn nicht musst du DBCP komplett abschalten, was ja nicht unbedingt von Nachteil sein muss, da die ODBC-Jobs der AS/400 sowieso wiederverwendbar sind.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    KM ist offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    950
    Ich hab jetzt herausgefunden wie ich DBCP2 vermeiden kann. Es gibt nämlich im Tomcat eine Alternative zu DBCP:

    The JDBC Connection Pool org.apache.tomcat.jdbc.pool is a replacement or an alternative to the Apache Commons DBCP connection pool.
    Dazu muss man in der context.xml bei der Resource nur folgendes Attribut hinzufügen:

    factory="org.apache.tomcat.jdbc.pool.DataSourceFac tory"
    Seltsamerweise erhalte ich dann zwar beim Starten des Tomcat den Fehler "WARNING - unusedProperty factory". Aber trotzdem funktioniert's.

    Gruß,
    KM

Ähnliche Themen

  1. Frage zu JT400 und "in-service release"
    Von alex.kretschmer im Forum NEWSboard java
    Antworten: 3
    Letzter Beitrag: 08-07-16, 09:20
  2. AS/400 19"-Version wo und günstig?
    Von BIStwo im Forum NEWSboard market
    Antworten: 4
    Letzter Beitrag: 28-03-03, 08:04
  3. Probleme bei Apache Tomcat aufziehen
    Von vogeste0 im Forum System i Hauptforum
    Antworten: 5
    Letzter Beitrag: 20-02-02, 12:22
  4. DB2 Version
    Von Arbi im Forum System i Hauptforum
    Antworten: 6
    Letzter Beitrag: 15-10-01, 07:52
  5. Tomcat-Server auf Win98 installieren
    Von Ma-Cell im Forum NEWSboard windows
    Antworten: 0
    Letzter Beitrag: 17-08-01, 11:43

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •