2011-12-14 96 views
0

我会尝试尽我所能来制定。tomcat服务器上的jdbc连接

首先,Web应用程序(Spring MVC中使用Spring JDBC)运作良好,直到我开始搞乱了与STS(基于Eclipse的春天工具套件)和JDK + JRE7的版本,以获取Java 7

二的特点,目前的问题是Apache Tomcat 6或7(我因为我不记得的原因而重新安装了这两个东西)似乎正在影响与数据库的连接。直接说:它未能得到JDBC连接

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: No suitable driver found for jdbc:postgresql:postgres 

和它发生时,我尝试从我的web应用程序做数据库的任何操作。

行jdbc:postgresql:postgres以防万一,因为它工作之前,它有效地说连接到本地数据库与名称postgres(也因为下面的点)。

另一个值得一提的重要的事情是,在vFabric tc服务器下,一切都完美无缺地工作,没有任何问题。

第三,数据库是PostgreSql以及Apache DBCP池。第四,maven jdbc驱动程序的依赖关系似乎很好,再次如果他们没有vFabric tc Server也会导致Apache Tomcat失败,这导致我想到Apache Tomcat本身就是罪魁祸首。

一些服务器过程中产生的信息的启动:

 Dec 14, 2011 4:54:32 PM org.apache.catalina.core.AprLifecycleListener init 
    INFO: The APR based Apache Tomcat Native library which allows optimal      performance in production environments was not found on the java.library.path:   C:\ProgramFiles\Java\jdk1.7.0_02\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\MiKTeX 2.9\miktex\bin;C:\Program Files\Apache Software Foundation\apache-maven-3.0.3\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\QuickTime\QTSystem\;. 
    Dec 14, 2011 4:54:32 PM org.apache.coyote.AbstractProtocol init 
    INFO: Initializing ProtocolHandler ["http-bio-8080"] 
    Dec 14, 2011 4:54:32 PM org.apache.coyote.AbstractProtocol init 
    INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 
    Dec 14, 2011 4:54:32 PM org.apache.catalina.startup.Catalina load 
    INFO: Initialization processed in 849 ms 
    Dec 14, 2011 4:54:32 PM org.apache.catalina.core.StandardServicestartInternal 
    INFO: Starting service Catalina 
    Dec 14, 2011 4:54:32 PM org.apache.catalina.core.StandardEngine startInternal 
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.23 
    Dec 14, 2011 4:54:33 PM org.apache.catalina.startup.HostConfig deployDescriptor 
    INFO: Deploying configuration descriptor C:\Users\User\Documents\workspace-sts\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\project.xml 
    Dec 14, 2011 4:54:33 PM org.apache.catalina.startup.SetContextPropertiesRule begin 
    WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:project' did not find a matching property. 
    Dec 14, 2011 4:54:34 PM org.apache.catalina.core.ApplicationContext log 
    INFO: Initializing Spring root WebApplicationContext 

    Dec 14, 2011 4:54:37 PM org.apache.coyote.AbstractProtocol start 
    INFO: Starting ProtocolHandler ["http-bio-8080"] 
    Dec 14, 2011 4:54:37 PM org.apache.coyote.AbstractProtocol start 
    INFO: Starting ProtocolHandler ["ajp-bio-8009"] 
    Dec 14, 2011 4:54:37 PM org.apache.catalina.startup.Catalina start 
    INFO: Server startup in 4664 ms 

我真的很绝望,请帮助。

UPDATE:

依然坐在前面看着伤心的画面,所以我决定把所有的.xml配置。

<bean id="dataSource" class="org.apache.commons.dbcp.PoolingDataSource"> 
    <constructor-arg ref="connectionPool"/> 
</bean> 

<bean id ="connectionPool" class="org.apache.commons.pool.impl.GenericObjectPool"> 
<constructor-arg><null/></constructor-arg> 
</bean> 


<bean id="poolableConnectionFactory" class="org.apache.commons.dbcp.PoolableConnectionFactory" > 
<constructor-arg ref="connectionFactory"/> 
<constructor-arg ref="connectionPool"/> 
<constructor-arg><null/></constructor-arg> 
<constructor-arg><null/></constructor-arg> 
<constructor-arg value="false"/> 
<constructor-arg value="true"/> 
</bean> 

    <bean id="connectionFactory" class="org.apache.commons.dbcp.DriverManagerConnectionFactory"> 
    <constructor-arg value="jdbc:postgresql:postgres"/> 
    <constructor-arg value="postgres"/> 
    <constructor-arg value="myCorrectPassword"/> 
</bean> 
+0

你是如何加载驱动程序? – PseudoNinja 2011-12-14 17:06:31

+0

在春季配置文件中接线,你要我发贴吗? – Aubergine 2011-12-14 17:09:56

回答

2

在GRL,我想说的是DB驱动程序也许应该进入Tomcat上常见的lib文件夹。 通常这些驱动程序用于几个应用程序。

此外,如果您在context.xml中设置池,则这是必需的。