- PR -

JBOSS+EJB+データソース(フェイルオーバー)について

1
投稿者投稿内容
むっき
会議室デビュー日: 2005/06/27
投稿数: 7
投稿日時: 2006-01-26 11:30
JBOSS4.01Xを使ってEJB開発を行っております。
データベースはPostgreSQL8.0で、EJBからはデータソースを使ってコネクトしております。

データソースは、には以下の定義を行っております。
これは、データベースの接続に失敗した際、再接続する定義になります。
<connection-property name="autoReconnect">true</connection-property>

スタンダードなJAVAプログラムからJDBCプログラミングで行った場合は、上記の設定で、再接続できます。
たとえば、PostgreSQLのサービスをいったん停止して、起動した後、接続できるかどうかのことを言っております。

EJBクライアント(Servlet)からリモート呼び出しで、
EJBのセッションBEAN(ステートレス)を呼び出し、
その中からデータベースにコネクト(データソースを使って)してます。

この場合、PostgreSQLをいったん停止して起動した後、行うと、データベースの接続に失敗します。

JBOSSを再起動、あるいはEJBとEJBクライアントプログラムを再デプロイすれば問題は解決します。

データソースのフェイルオーバー機能は有効にしても、EJBオブジェクトなのかプールの情報なのかわかりませんが、キャッシュされているような感じがします。

JBOSSを再起動あるいはデプロイしなくても、
失敗した場合再接続させる為の設定あるいは手法ありましたら、ご教授ください。
(standardjboss.xml?JBOSS.XML??)

勉強不足のところあるかもしれませんが、
よろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)