2012-04-25 20 views
1

Tomcat7で接続プーリングを実装する際に問題があります。 何らかの理由でTomcatがマシンのユーザー名で接続しようとしています。私はしばらくの間、googlinされているが、運がない。Tomcat 7の接続プーリング

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory 
(FATAL: role "caspinol" does not exist) 
Cant connect to db 
Log In failed: An Exception has occurred! java.lang.NullPointerException 
java.lang.NullPointerException 
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)... 

次のように私のcontext.xmlになります

<Resource auth="Container" name="jdbc/postgres" type="javax.sql.DataSource" user="biller" password="biller" 
      driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432" maxActive="150" 
      schema="biller" maxIdle="4"/> 

とweb.xmlを:

<resource-ref> 
    <description>postgreSQL Datasource</description> 
    <res-ref-name>jdbc/postgres</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
</resource-ref> 

私はjdbc4.jar Postgresのドライバを使用しています。 誰かが見ているし、間違いを事前に

おかげで何を指摘することができた場合、私は感謝し

+0

user = "biller"ではなく "biller"ですか? –

+1

ありがとう。これは最初の問題を解決しました...奇妙なことに、この設定は実際には "Tomcat - The Definitive Guide"から来ています。本に注意してください::) – SneakyMummin

答えて

0

URLが間違っているようです。 このURLを試してください:

jdbc:postgresql://localhost:5432/<db_name> 

は、実際のデータベース名で<db_name>を交換してください。

+0

そして、これは他の解決:) – SneakyMummin

0

これは問題の正しい解決策ではありませんが、同じ問題で正しい接続文字列を検索するのに役立ちます。ネットワーク接続にアクセスするための

チェック:

jdbc:postgresql://[::1]:5432/<db_name> 

がIPv6を使用して接続文字列と同様に 、 これは、IPv4のみを経由して利用できるアプリケーションからWSDL URLにアクセスするように他の接続が解除されます。 特にWindows 8のネットワーク接続を見てください。

関連する問題