• ベストアンサー

Java+ibatis-sqlmap-2.3.0

下記の環境でWebアプリを作成中です。 作成中のアプリは、XMLに定義しているSQL(select文)を実行し、 検索結果を画面に表示するというものです。 現状、XMLに定義しているSQLを修正しても Webサーバを再起動するまで修正したSQLが一切反映されなくて困っています。 Webサーバを再起動せずにSQLの修正内容を反映する方法はないのでしょうか? よろしくお願い致します。 環境 JDK5.0 J2EE1.4(JSP2.0/Servlet2.4) ibatis-sqlmap-2.3.0

質問者が選んだベストアンサー

  • ベストアンサー
  • co_maam
  • ベストアンサー率65% (13/20)
回答No.2

>作成中のアプリは、XMLに定義しているSQL(select文)を実行し、 > 検索結果を画面に表示するというものです。 上記はibatisの仕様のことをおっしゃっているのでしょうか? 通常Webアプリケーションでは、アプリケーション起動時に設定ファイルをキャッシュして使用します。 (毎回ファイルを読みに行くのであれば、パフォーマンスが悪すぎます。) そのため、設定ファイルを修正した場合、アプリケーションの再起動(APサーバの再起動)をおこなわなければ修正は反映されません。 ibatisのsqlMapも他設定ファイルと同様のはずです。 APサーバにそういう機能があれば話は別ですが…。 もし、SQLの妥当性を検証しているのであれば、 APに実装するのではなく他の方法で試すことをおすすめします。

gzafjy
質問者

お礼

>通常Webアプリケーションでは、アプリケーション起動時に設定ファイルをキャッシュして使用します。 >(毎回ファイルを読みに行くのであれば、パフォーマンスが悪すぎます。) XMLに定義したSQLを修正したら即時反映されるものだと思っており、この辺を理解していませんでした。パフォーマンスも考慮するとAPサーバの再起動は必須なんですね。 ありがとうございました。

その他の回答 (1)

回答No.1

より詳しく書かないと分かりませんが、検索をする時にXMLを読んで、SQLを実行しているのでしょうか?

gzafjy
質問者

補足

SQLMap(XMLファイル)に定義したSQLをsqlMap.queryForObjectで実行しています。 XMLを読み込む処理を自分で書いているわけではありません。

関連するQ&A