どうもうまくいかない日

<< 戻る   トップ >>

SELinux については、ドキュメントをつらつらと眺めているうちにどういうものだったかのかを思い出した。とりあえず試験段階では鍵を開けて (SELinux を無効にして) いじくりたおし、その後で鍵をかければ (SELinux 強制) にすればよいのであった。問題は、前半は毎度のことでよくやるのだが後半は面倒なので実施しないことだ。この機会に鍵の掛け方も学んでみるとしよう。

それにしても、MySQL から Tomcat 6 まで思ったとおりに動いてくれない日であった。いまだかつてないうまくいかなさである。MySQL 問題は暫定的解決の状態ですっきりしない。Tomcat 6 はどこが悪いのかさっぱりわからない。どうやらいつもの com.mysql.jdbc.Driver が絡んでいるように思えるのだが。

まあ、〆切のある仕事でもないの気長に、かつ Fedora 15 が出るまでに解決したい。

...

解決した。原因は「インストール時になにか必要なパッケージがなかった」または「ディストリビューションのバグ」または「読むべきドキュメントを読んでいない」である。さらには「これまで使っていた技法が時代遅れになっている」恐れもある。

鴨乃嘴南蛮では、記事をデータベース MySQL に保管している。データベースの資源 (リソース) にアクセスするには、サーバやユーザ名、パスワードなどが必要である。これらの設定をプログラムに直接コーディングするのは美しくないので、context.xml に資源を記述するという手法をとっている。このとき、これまではデフォルト設定で問題がなかったのだが、上記のなんらかの原因によりデフォルトでは動作しなくなったのだ。以下の下線部の factory 設定が必要となったのである。

<Context path="/nanban">
<Resource
        driverClassName="com.mysql.jdbc.Driver"
        type="javax.sql.DataSource"
        ...(中略)
        factory="org.apache.commons.dbcp.BasicDataSourceFactory"
/>
</Context>

これで動くようになったのだが、デフォルトでは "org.apache.tomcat.dbcp.dbcp.BasicDataSource" というクラスを使うのだが、これが含まれた jar パッケージが見当たらず、かわりに "org.apache.commons.dbcp.BasicDataSourceFactory" を含む "jakarta-commons-dhcp.jar" があったのでこれを利用した。BasicDataSourceFactory なるクラスは同等のモノなんだそうだ。


作成: 2010-11-15 17:15:50.0更新: 2010-11-15 17:15:50.0
http://museo-anonimo.jp/nanban/?id=937,http://museo-anonimo.jp/nanban/tr/937