соединение JDBC на сервере Tomcat - PullRequest
0 голосов
/ 14 декабря 2011

Я постараюсь сформулировать как можно лучше.

Во-первых, веб-приложение (Spring MVC с Spring Jdbc) работало хорошо, пока я не начал возиться с версиями STS (Spring Tool Suite на основе 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

, и это происходит всякий раз, когда я пытаюсь выполнить какую-либо операцию с базой данных из моего веб-приложения.

Строка jdbc: postgresql: postgres в порядкена всякий случай, потому что он работал раньше и эффективно говорит о подключении к локальной базе данных с именем postgres (а также из-за нижеприведенного пункта).

Еще один важный момент, о котором следует упомянуть, это то, что в vFabric tc Server все работает без нареканийбез каких-либо проблем.

В-третьих, база данных PostgreSql вместе с пулом Apache DBCP.

В-четвертых, зависимости драйвера maven jdbc, похоже, работают хорошо, и опять же, если они не сделали vFabric tcСервер также будет отказывать так же, как 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

Iя действительно в отчаянии, пожалуйста, помогите.

ОБНОВЛЕНИЕ:

Все еще сидим впереди, глядя нагрустный экран, поэтому я решил включить все настройки .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>

1 Ответ

2 голосов
/ 14 декабря 2011

В grl я бы сказал, что драйверы БД, вероятно, должны находиться в общей папке lib на Tomcat. Обычно эти драйверы используются для нескольких приложений.

Кроме того, если вы установили свой пул в context.xml, это необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...