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

    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
    20.206
    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: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    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

Similar Threads

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

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •