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"/>
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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.