質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

解決済

1回答

12428閲覧

Tomcat 8 コンテキストの設定 type="javax.sql.DataSource" でエラーがでます。

Rena1012

総合スコア11

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

0クリップ

投稿2017/05/29 07:39

###前提・実現したいこと
Tomcat8 postgresqlにてWEBサーバを構築中です。

コンテキストを設定時、type="javax.sql.DataSource"を設定すると
以下のエラーメッセージが発生しました。
設定がおかしいのでしょうか?
typeを設定し、エラーを出さなくすることは可能でしょうか?

よろしくお願いいたします。

###発生している問題・エラーメッセージ

29-May-2017 15:38:38.088 警告 [localhost-startStop-1] org.apache.naming.NamingContext.lookup 参照の解決中に予測しない例外が発生しました java.sql.SQLException: Error preloading the connection pool at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2089) at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getLogWriter(BasicDataSource.java:1598) at org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.createDataSource(BasicDataSourceFactory.java:596) at org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.getObjectInstance(BasicDataSourceFactory.java:275) at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:94) at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321) at org.apache.naming.NamingContext.lookup(NamingContext.java:839) at org.apache.naming.NamingContext.lookup(NamingContext.java:159) at org.apache.naming.NamingContext.lookup(NamingContext.java:827) at org.apache.naming.NamingContext.lookup(NamingContext.java:173) at org.apache.catalina.core.NamingContextListener.addResource(NamingContextListener.java:1091) at org.apache.catalina.core.NamingContextListener.createNamingContext(NamingContextListener.java:661) at org.apache.catalina.core.NamingContextListener.lifecycleEvent(NamingContextListener.java:249) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5105) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:596) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1805) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748) Caused by: org.postgresql.util.PSQLException: FATAL: 現在クライアント数が多すぎます at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:433) at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:208) at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:67) at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:216) at org.postgresql.Driver.makeConnection(Driver.java:406) at org.postgresql.Driver.connect(Driver.java:274) at org.apache.tomcat.dbcp.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) at org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:257) at org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:888) at org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.addObject(GenericObjectPool.java:986) at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2085) ... 25 more 29-May-2017 15:38:38.089 警告 [localhost-startStop-1] org.apache.catalina.core.NamingContextListener.addResource Failed to register in JMX: [javax.naming.NamingException: Error preloading the connection pool]

###該当のソースコード
=====コンテキストの設定=====
<Context reloadable="false" crossContext="false">
<Resource name="jdbc/ROOT" auth="Container" type="javax.sql.DataSource" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://IPアドレス/名前" username="ユーザ" password="パスワード" maxTotal="300" maxIdle="300" initialSize="300" maxWaitMillis="10000" testOnBorrow="true" testOnReturn="false" poolPreparedStatements="false" validationQuery="select 1" connectionProperties="tcpKeepAlive=true;socketTimeout=0" />
</Context>

###試したこと
type="javax.sql.DataSource"の設定を削除するとエラーはでなくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ログの
Caused by: org.postgresql.util.PSQLException: FATAL: 現在クライアント数が多すぎます
から察するにDBの接続数が足りていないのだと思います。
DBの最大接続数を増やしてDB再起動してみてください。

投稿2017/06/22 07:39

unk

総合スコア41

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問