上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。




以前こちらの記事で書いたように、HibernateのConfigファイルに直接DBへの接続設定を書くと8時間毎にコネクションが切断されるため、今回はTomcatのコネクションプールをHibernateから利用するように変更した。

c3p0を使う方法もあるが、WEBアプリケーションならTomcatのコネクションプールを使用したほうが便利かと・・・。


さて、設定方法だが、

※CATALINA_HOMEはTomcatをインストールしたディレクトリを指します。

今回のDBはMySQLで、APサーバのローカルホストにインストールされています。
構成が違う場合は読み替えて設定してください。

/CATALINA_HOME/conf/server.xml の
<GlobalNamingResources>ディレクティブ内に以下のように記述します。
<GlobalNamingResources>
<Environment
name="simpleValue"
type="java.lang.Integer"
value="30"/>
<Resource
name="jdbc/hogeDB"
type="javax.sql.DataSource"
maxActive="4"
maxIdle="2"
username="hogehoge"
maxWait="5000"
driverClassName="com.mysql.jdbc.Driver"
password="mysqlpass"
url="jdbc:mysql://localhost:3306/MYDATABASE?autoReconnect=true"/>
<Resource
auth="Container"
description="User database that can be updated and saved"
name="UserDatabase"
type="org.apache.catalina.UserDatabase"
pathname="conf/tomcat-users.xml"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"/>
</GlobalNamingResources>


次にアプリケーション内のweb.xmlに以下を追記します。
※/CATALINA_HOME/webapps/hogehoge/WEB-INF/の下です。
※hogehogeは各自のアプリケーション名で読み替えてください。
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/hogeDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

次にアプリケーション内のcontent.xmlに以下を追記します。
※/CATALINA_HOME/webapps/hogehoge/META-INF/の下です。
※hogehogeは各自のアプリケーション名で読み替えてください。
<Context path="/hogehoge">
<ResourceLink global="jdbc/hogeDB" name="jdbc/hogeDB" type="javax.sql.DataSource"/>
</Context>

最後にwebapps下のhibernate.xml.confに以下を記述する
<!-- Database connection settings -->
<property name="connection.datasource">java:comp/env/jdbc/hogehogeDB</property>

<!-- JDBC connection pool -->
<property name="connection.pool_size">1</property>

<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>

さてここまで設定したら動くはず。。。

# /etc/init.d/tomcat restart
で再起動しようとするが、エラーで起動しない。。。


ググってみると、他にもう1点設定する場所があるようで、

/CATALINA_HOME/conf/Catalina/localhost/hogehoge.xml 内に以下を記述する必要がある。
<Context path="/hogehoge">
<ResourceLink global="jdbc/hogehogeDB" name="jdbc/hogehogeDB" type="javax.sql.DataSource"/>
</Context>

これで再起動したらアプリケーションがエラー無く起動した。


おつかれさまです。

関連記事
hibernateのセッションが切れてアプリが落ちる
could not resolve property
hibernate のキャッシュ動作に関して
SQLGrammarException
hibernate のロールバック
Hibernate イン アクション




スポンサーサイト

Java(JDK1.6_u2)で利用可能なタイムゾーン一覧は以下。

Iceland 名前:グリニッジ標準時
Portugal 名前:西ヨーロッパ時間
UCT 名前:協定世界時
UTC 名前:協定世界時
Universal 名前:協定世界時
WET 名前:西ヨーロッパ時間
Zulu 名前:協定世界時
Africa/Algiers 名前:中部ヨーロッパ時間
Africa/Bangui 名前:西アフリカ時間
Africa/Brazzaville 名前:西アフリカ時間
Africa/Ceuta 名前:中部ヨーロッパ時間
Africa/Douala 名前:西アフリカ時間
Africa/Kinshasa 名前:西アフリカ時間
Africa/Lagos 名前:西アフリカ時間
Africa/Libreville 名前:西アフリカ時間
Africa/Luanda 名前:西アフリカ時間
Africa/Malabo 名前:西アフリカ時間
Africa/Ndjamena 名前:西アフリカ時間
Africa/Niamey 名前:西アフリカ時間
Africa/Porto-Novo 名前:西アフリカ時間
Africa/Tunis 名前:中部ヨーロッパ時間
Africa/Windhoek 名前:西アフリカ時間
Arctic/Longyearbyen 名前:中部ヨーロッパ時間
Atlantic/Jan_Mayen 名前:中部ヨーロッパ時間
CET 名前:中部ヨーロッパ時間
ECT 名前:中部ヨーロッパ時間
Etc/GMT-1 名前:GMT+01:00
Europe/Amsterdam 名前:中部ヨーロッパ時間
Europe/Andorra 名前:中部ヨーロッパ時間
Europe/Belgrade 名前:中部ヨーロッパ時間
Europe/Berlin 名前:中部ヨーロッパ時間
Europe/Bratislava 名前:中部ヨーロッパ時間
Europe/Brussels 名前:中部ヨーロッパ時間
Europe/Budapest 名前:中部ヨーロッパ時間
Europe/Copenhagen 名前:中部ヨーロッパ時間
Europe/Gibraltar 名前:中部ヨーロッパ時間
Europe/Ljubljana 名前:中部ヨーロッパ時間
Europe/Luxembourg 名前:中部ヨーロッパ時間
Europe/Madrid 名前:中部ヨーロッパ時間
Europe/Malta 名前:中部ヨーロッパ時間
Europe/Monaco 名前:中部ヨーロッパ時間
Europe/Oslo 名前:中部ヨーロッパ時間
Europe/Paris 名前:中部ヨーロッパ時間
Europe/Prague 名前:中部ヨーロッパ時間
Europe/Rome 名前:中部ヨーロッパ時間
Europe/San_Marino 名前:中部ヨーロッパ時間
Europe/Sarajevo 名前:中部ヨーロッパ時間
Europe/Skopje 名前:中部ヨーロッパ時間
Europe/Stockholm 名前:中部ヨーロッパ時間
Europe/Tirane 名前:中部ヨーロッパ時間
Europe/Vaduz 名前:中部ヨーロッパ時間
Europe/Vatican 名前:中部ヨーロッパ時間
Europe/Vienna 名前:中部ヨーロッパ時間
Europe/Warsaw 名前:中部ヨーロッパ時間
Europe/Zagreb 名前:中部ヨーロッパ時間
Europe/Zurich 名前:中部ヨーロッパ時間
MET 名前:中部ヨーロッパ時間
Poland 名前:中部ヨーロッパ時間
ART 名前:東ヨーロッパ時間
Africa/Blantyre 名前:中部アフリカ時間
Africa/Bujumbura 名前:中部アフリカ時間
Africa/Cairo 名前:東ヨーロッパ時間
Africa/Gaborone 名前:中部アフリカ時間
Africa/Harare 名前:中部アフリカ時間
Africa/Johannesburg 名前:南アフリカ標準時
Africa/Kigali 名前:中部アフリカ時間
Africa/Lubumbashi 名前:中部アフリカ時間
Africa/Lusaka 名前:中部アフリカ時間
Africa/Maputo 名前:中部アフリカ時間
Africa/Maseru 名前:南アフリカ標準時
Africa/Mbabane 名前:南アフリカ標準時
Africa/Tripoli 名前:東ヨーロッパ時間
Asia/Amman 名前:東ヨーロッパ時間
Asia/Beirut 名前:東ヨーロッパ時間
Asia/Damascus 名前:東ヨーロッパ時間
Asia/Gaza 名前:東ヨーロッパ時間
Asia/Istanbul 名前:東ヨーロッパ時間
Asia/Jerusalem 名前:イスラエル標準時
Asia/Nicosia 名前:東ヨーロッパ時間
Asia/Tel_Aviv 名前:イスラエル標準時
CAT 名前:中部アフリカ時間
EET 名前:東ヨーロッパ時間
Egypt 名前:東ヨーロッパ時間
Etc/GMT-2 名前:GMT+02:00
Europe/Athens 名前:東ヨーロッパ時間
Europe/Bucharest 名前:東ヨーロッパ時間
Europe/Chisinau 名前:東ヨーロッパ時間
Europe/Helsinki 名前:東ヨーロッパ時間
Europe/Istanbul 名前:東ヨーロッパ時間
Europe/Kaliningrad 名前:東ヨーロッパ時間
Europe/Kiev 名前:東ヨーロッパ時間
Europe/Mariehamn 名前:東ヨーロッパ時間
Europe/Minsk 名前:東ヨーロッパ時間
Europe/Nicosia 名前:東ヨーロッパ時間
Europe/Riga 名前:東ヨーロッパ時間
Europe/Simferopol 名前:東ヨーロッパ時間
Europe/Sofia 名前:東ヨーロッパ時間
Europe/Tallinn 名前:東ヨーロッパ時間
Europe/Tiraspol 名前:東ヨーロッパ時間
Europe/Uzhgorod 名前:東ヨーロッパ時間
Europe/Vilnius 名前:東ヨーロッパ時間
Europe/Zaporozhye 名前:東ヨーロッパ時間
Israel 名前:イスラエル標準時
Libya 名前:東ヨーロッパ時間
Turkey 名前:東ヨーロッパ時間
Africa/Addis_Ababa 名前:東アフリカ時間
Africa/Asmera 名前:東アフリカ時間
Africa/Dar_es_Salaam 名前:東アフリカ時間
Africa/Djibouti 名前:東アフリカ時間
Africa/Kampala 名前:東アフリカ時間
Africa/Khartoum 名前:東アフリカ時間
Africa/Mogadishu 名前:東アフリカ時間
Africa/Nairobi 名前:東アフリカ時間
Antarctica/Syowa 名前:昭和基地時間
Asia/Aden 名前:アラビア標準時
Asia/Baghdad 名前:アラビア標準時
Asia/Bahrain 名前:アラビア標準時
Asia/Kuwait 名前:アラビア標準時
Asia/Qatar 名前:アラビア標準時
Asia/Riyadh 名前:アラビア標準時
EAT 名前:東アフリカ時間
Etc/GMT-3 名前:GMT+03:00
Europe/Moscow 名前:モスクワ標準時
Europe/Volgograd 名前:ボルゴグラード時間
Indian/Antananarivo 名前:東アフリカ時間
Indian/Comoro 名前:東アフリカ時間
Indian/Mayotte 名前:東アフリカ時間
W-SU 名前:モスクワ標準時
Asia/Riyadh87 名前:GMT+03:07
Asia/Riyadh88 名前:GMT+03:07
Asia/Riyadh89 名前:GMT+03:07
Mideast/Riyadh87 名前:GMT+03:07
Mideast/Riyadh88 名前:GMT+03:07
Mideast/Riyadh89 名前:GMT+03:07
Asia/Tehran 名前:イラン標準時
Iran 名前:イラン標準時
Asia/Baku 名前:アゼルバイジャン時間
Asia/Dubai 名前:湾岸標準時
Asia/Muscat 名前:湾岸標準時
Asia/Tbilisi 名前:グルジア時間
Asia/Yerevan 名前:アルメニア時間
Etc/GMT-4 名前:GMT+04:00
Europe/Samara 名前:サマラ時間
Indian/Mahe 名前:セイシェル時間
Indian/Mauritius 名前:モーリシャス時間
Indian/Reunion 名前:レユニオン時間
NET 名前:アルメニア時間
Asia/Kabul 名前:アフガニスタン時間
Asia/Aqtau 名前:アクタウ時間
Asia/Aqtobe 名前:アクトベ時間
Asia/Ashgabat 名前:トルクメニスタン時間
Asia/Ashkhabad 名前:トルクメニスタン時間
Asia/Dushanbe 名前:タジキスタン時間
Asia/Karachi 名前:パキスタン時間
Asia/Oral 名前:オラル時間
Asia/Samarkand 名前:ウズベキスタン時間
Asia/Tashkent 名前:ウズベキスタン時間
Asia/Yekaterinburg 名前:エカテリンブルグ時間
Etc/GMT-5 名前:GMT+05:00
Indian/Kerguelen 名前:仏南方領および南極時間
Indian/Maldives 名前:モルジブ時間
PLT 名前:パキスタン時間
Asia/Calcutta 名前:インド標準時
Asia/Colombo 名前:インド標準時
IST 名前:インド標準時
Asia/Katmandu 名前:ネパール時間
Antarctica/Mawson 名前:モーソン時間
Antarctica/Vostok 名前:ボストーク基地時間
Asia/Almaty 名前:アルマアタ時間
Asia/Bishkek 名前:キルギスタン時間
Asia/Dacca 名前:バングラデシュ時間
Asia/Dhaka 名前:バングラデシュ時間
Asia/Novosibirsk 名前:ノボシビルスク時間
Asia/Omsk 名前:オムスク時間
Asia/Qyzylorda 名前:キジルオルダ時間
Asia/Thimbu 名前:ブータン時間
Asia/Thimphu 名前:ブータン時間
BST 名前:バングラデシュ時間
Etc/GMT-6 名前:GMT+06:00
Indian/Chagos 名前:インド洋地域時間
Asia/Rangoon 名前:ミャンマー時間
Indian/Cocos 名前:ココス諸島時間
Antarctica/Davis 名前:デイビス時間
Asia/Bangkok 名前:インドシナ時間
Asia/Hovd 名前:ホブド時間
Asia/Jakarta 名前:西インドネシア時間
Asia/Krasnoyarsk 名前:クラスノヤルスク時間
Asia/Phnom_Penh 名前:インドシナ時間
Asia/Pontianak 名前:西インドネシア時間
Asia/Saigon 名前:インドシナ時間
Asia/Vientiane 名前:インドシナ時間
Etc/GMT-7 名前:GMT+07:00
Indian/Christmas 名前:クリスマス諸島時間
VST 名前:インドシナ時間
Antarctica/Casey 名前:西部標準時 (オーストラリア)
Asia/Brunei 名前:ブルネイ時間
Asia/Chongqing 名前:中国標準時
Asia/Chungking 名前:中国標準時
Asia/Harbin 名前:中国標準時
Asia/Hong_Kong 名前:香港時間
Asia/Irkutsk 名前:イルクーツク時間
Asia/Kashgar 名前:中国標準時
Asia/Kuala_Lumpur 名前:マレーシア時間
Asia/Kuching 名前:マレーシア時間
Asia/Macao 名前:中国標準時
Asia/Macau 名前:中国標準時
Asia/Makassar 名前:中央インドネシア時間
Asia/Manila 名前:フィリピン時間
Asia/Shanghai 名前:中国標準時
Asia/Singapore 名前:シンガポール時間
Asia/Taipei 名前:中国標準時
Asia/Ujung_Pandang 名前:中央インドネシア時間
Asia/Ulaanbaatar 名前:ウラーンバートル時間
Asia/Ulan_Bator 名前:ウラーンバートル時間
Asia/Urumqi 名前:中国標準時
Australia/Perth 名前:西部標準時 (オーストラリア)
Australia/West 名前:西部標準時 (オーストラリア)
CTT 名前:中国標準時
Etc/GMT-8 名前:GMT+08:00
Hongkong 名前:香港時間
PRC 名前:中国標準時
Singapore 名前:シンガポール時間
Asia/Choibalsan 名前:チョイバルサン時間
Asia/Dili 名前:東ティモール時間
Asia/Jayapura 名前:東インドネシア時間
Asia/Pyongyang 名前:韓国標準時
Asia/Seoul 名前:韓国標準時
Asia/Tokyo 名前:日本標準時
Asia/Yakutsk 名前:ヤクーツク時間
Etc/GMT-9 名前:GMT+09:00
JST 名前:日本標準時
Japan 名前:日本標準時
Pacific/Palau 名前:パラオ時間
ROK 名前:韓国標準時
ACT 名前:中部標準時 (ノーザンテリトリー)
Australia/Adelaide 名前:中部標準時 (南オーストラリア)
Australia/Broken_Hill 名前:中部標準時 (南オーストラリア/ニューサウス
ウェールズ)
Australia/Darwin 名前:中部標準時 (ノーザンテリトリー)
Australia/North 名前:中部標準時 (ノーザンテリトリー)
Australia/South 名前:中部標準時 (南オーストラリア)
Australia/Yancowinna 名前:中部標準時 (南オーストラリア/ニューサウス
ウェールズ)
AET 名前:東部標準時 (ニューサウスウェールズ)
Antarctica/DumontDUrville 名前:デュモンデュルヴィル時間
Asia/Sakhalin 名前:樺太時間
Asia/Vladivostok 名前:ウラジオストク時間
Australia/ACT 名前:東部標準時 (ニューサウスウェールズ)
Australia/Brisbane 名前:東部標準時 (クイーンズランド)
Australia/Canberra 名前:東部標準時 (ニューサウスウェールズ)
Australia/Currie 名前:東部標準時 (ニューサウスウェールズ)
Australia/Hobart 名前:東部標準時 (タスマニア)
Australia/Lindeman 名前:東部標準時 (クイーンズランド)
Australia/Melbourne 名前:東部標準時 (ビクトリア)
Australia/NSW 名前:東部標準時 (ニューサウスウェールズ)
Australia/Queensland 名前:東部標準時 (クイーンズランド)
Australia/Sydney 名前:東部標準時 (ニューサウスウェールズ)
Australia/Tasmania 名前:東部標準時 (タスマニア)
Australia/Victoria 名前:東部標準時 (ビクトリア)
Etc/GMT-10 名前:GMT+10:00
Pacific/Guam 名前:グアム標準時
Pacific/Port_Moresby 名前:パプアニューギニア時間
Pacific/Saipan 名前:グアム標準時
Pacific/Truk 名前:トラック時間
Pacific/Yap 名前:ヤップ時間
Australia/LHI 名前:ロードハウ島標準時
Australia/Lord_Howe 名前:ロードハウ島標準時
Asia/Magadan 名前:マガダン時間
Etc/GMT-11 名前:GMT+11:00
Pacific/Efate 名前:バヌアツ時間
Pacific/Guadalcanal 名前:ソロモン諸島時間
Pacific/Kosrae 名前:コスラエ時間
Pacific/Noumea 名前:ニューカレドニア時間
Pacific/Ponape 名前:ポナペ時間
SST 名前:ソロモン諸島時間
Pacific/Norfolk 名前:ノーフォーク時間
Antarctica/McMurdo 名前:ニュージーランド標準時
Antarctica/South_Pole 名前:ニュージーランド標準時
Asia/Anadyr 名前:アナドゥイリ時間
Asia/Kamchatka 名前:ペトロパブロフスクカムチャツキー時間
Etc/GMT-12 名前:GMT+12:00
Kwajalein 名前:マーシャル島時間
NST 名前:ニュージーランド標準時
NZ 名前:ニュージーランド標準時
Pacific/Auckland 名前:ニュージーランド標準時
Pacific/Fiji 名前:フィジー時間
Pacific/Funafuti 名前:ツバル時間
Pacific/Kwajalein 名前:マーシャル島時間
Pacific/Majuro 名前:マーシャル島時間
Pacific/Nauru 名前:ナウル時間
Pacific/Tarawa 名前:ギルバート諸島時間
Pacific/Wake 名前:ウェーク時間
Pacific/Wallis 名前:ワリス及びフツナ時間
NZ-CHAT 名前:チャタム標準時
Pacific/Chatham 名前:チャタム標準時
Etc/GMT-13 名前:GMT+13:00
Pacific/Enderbury 名前:フェニックス諸島時間
Pacific/Tongatapu 名前:トンガ時間
Etc/GMT-14 名前:GMT+14:00
Pacific/Kiritimati 名前:ライン諸島時間

関連記事
[Java]ビット演算子の使い方
Javaによる日付処理(Date型)
[Java]例外処理の使い方
Commons Digester
Ruby on Rails と adobe AIR でアプリ作成
[JAVA]Timestamp型からStringの日付へ変換(日数の加減あり)
[JAVA]intの日付をsql.Dateに変換する
Strutsの「bean:write」タグについて
Javaの文字列操作



RECENT ENTRYS

RECENT COMMENTS

RECENT TRACKBACKS

サイト内検索

カスタム検索

カテゴリー

月別アーカイブ

このブログについて

ネットワーク構築や、サーバ構築、Javaプログラムを生業としていく中で気付いたことをブログに綴って行きます。

Sponsored Link

カウンター

リンク

RSSフィード

全記事リンク

なかのひと


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。