Menu

Unable to use postgresql database

Help
2003-01-14
2003-01-14
  • David Gagnon

    David Gagnon - 2003-01-14

    Hi all,

      Despite the fact that I changed all struts-config.xml and pool.xml ... artimus still search for the mysql Driver ?!

    Here is the relevant config from WEB-INF/struts-config.xml:
    <data-sources>
          <data-source>
                   <set-property property="maxCount"
                           value="4"/>
          <set-property property="minCount"
                           value="2"/>
          <set-property property="description"
                           value="Artimus:Postgres Data Source Configuration"/>
          <set-property property="driverClass"
                           value="org.postgresql.Driver"/>

             <set-property property="factory"
                              value="org.apache.commons.dbcp.BasicDataSourceFactory"/>
             <set-property property="description"
                              value="Artimus:PostGreSQL Data Source Configuration"/>
             <set-property property="driverClassName"
                              value="org.postgresql.Driver"/>
             <set-property property="url"
                              value="jdbc:postgresql://127.0.0.1:5432/artimus"/>
             <set-property property="driverName"
                     value="jdbc:postgresql://localhost/unikweb"/>
             <set-property property="autoCommit"
                              value="true"/>
             <set-property property="user"
                              value="Administrator"/>
             <set-property property="password"
                              value="lmclo888"/>
             <set-property property="maxActive"
                              value="20"/>
             <set-property property="maxIdle"
                              value="10"/>
             <set-property property="maxWait"
                              value="-1"/>

           </data-source>
         </data-sources>

    Here is the relevant config from WEB-INF/poolman.xml

    <datasource>

        <!-- ============================== -->
        <!-- Physical Connection Attributes -->
        <!-- ============================== -->

        <!-- Standard JDBC Driver info -->

        <dbname>jdbc/artimus</dbname>
        <jndiName>jndi-datasource</jndiName>
        <driver>org.postgresql.Driver</driver>
        <url>jdbc:postgresql://127.0.0.1:5432/artimus</url>

        <username>Administrator</username>
        <password>lmclo888</password>

        <minimumSize>0</minimumSize>
        <maximumSize>10</maximumSize>
        <connectionTimeout>600</connectionTimeout>
        <userTimeout>12</userTimeout>
        <shrinkBy>10</shrinkBy>

        <logFile>poolman.log</logFile>
        <debugging>false</debugging>

        <!-- Query Cache Attributes-->

        <cacheEnabled>true</cacheEnabled>
        <cacheSize>20</cacheSize>
        <cacheRefreshInterval>120</cacheRefreshInterval>

      </datasource>

    Those files has been taken in the tomcat/webapp directory .. therefore are the one deployed ...

    I got this error in poolman-artimus.log:
    January 13, 2003 10:33:45 PM EST: Looks like the driver was not found... be sure it is in your CLASSPATH and listed properly in the properties file.
    EXCEPTION: org.gjt.mm.mysql.Driver: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
    January 13, 2003 10:33:45 PM EST: A non-SQL error occurred when requesting a connection:
    EXCEPTION: null: java.lang.NullPointerException

    and this error in tomcat logs:

    2003-01-13 22:33:45 action: *** ACTION EXCEPTION:
    java.lang.NullPointerException
        at org.apache.commons.scaffold.sql.StatementUtils.executeUpdate(Unknown Source)
        at org.apache.commons.scaffold.sql.StatementUtils.executeUpdate(Unknown Source)
        at org.apache.commons.scaffold.sql.AccessBase.executeUpdate(Unknown Source)
        at org.apache.artimus.keys.Access.createTable(Access.java:59)
        at org.apache.artimus.CreateResources.execute(CreateResources.java:46)
        at org.apache.struts.scaffold.ProcessAction.executeLogic(Unknown Source)
        at org.apache.struts.scaffold.BaseHelperAction.executeLogic(Unknown Source)
        at org.apache.struts.scaffold.BaseAction.execute(Unknown Source)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:446)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:266)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
        at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1014)
        at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:257)
        at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:417)
        at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:300)
        at org.apache.struts.action.RequestProcessor.processActionForward(RequestProcessor.java:390)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:271)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
        at java.lang.Thread.run(Thread.java:536)

    So my guest is that I misconfigured my datasource and Scaffold default to mysql driver ...

    Any help will be appreciated

    Best regards

    /David Gagnon

     
    • Ted Husted

      Ted Husted - 2003-01-14

      Try putting the poolman.xml directly under \WEB-INF\classes instead of \WEB-INF. It runs down the classpath and WEB-INF isn't actually on the classpath.

      -Ted.

       

Log in to post a comment.