- PR -

Torque3.1の使い方

投稿者投稿内容
さやべえ
常連さん
会議室デビュー日: 2003/03/13
投稿数: 33
投稿日時: 2003-10-30 12:25
初めまして 私の設定を見ると

torque.dsfactory.XXX.pool.validationQuery=SELECT 1 FROM DUAL

torque.dsfactory.XXX.pool.validationQuery=SELECT 1

torque.dsfactory.XXX.pool.testOnBorrow=false

torque.dsfactory.XXX.pool.testOnBorrow=true

になっています。(但しDBはPostgresで、必要最低限のTorque.propertiesの設定)
ご参考までに

[ メッセージ編集済み 編集者: さやべえ 編集日時 2003-10-30 12:27 ]
TK
常連さん
会議室デビュー日: 2002/08/13
投稿数: 42
投稿日時: 2003-10-30 13:26
さやべえさん、返答ありがとうございます。
さやべえさんの設定を試してみましたが、上記と同じエラー
がでました。

引き続き調査いたします。
TK
常連さん
会議室デビュー日: 2002/08/13
投稿数: 42
投稿日時: 2003-10-30 13:37
TKです。ひとつだけ気が付いたことがありましたので、
とりいそぎ報告させていただきます。

正常に動作していた際は、Torque3.0.2を使用していました。
Torque.initをPlugin内でやっているため、Tomcat起動時に、
Torque.propertiesが読み込まれます。しかも、ここでデータを取得しているので
Tomcatを起動時に、Torqueのログ(init情報とSELECT文)がでます。
しかし、今回3.1にバージョンをあげたところ、Tomcat起動時には
Torqueログは現れず、JSPから初めて、データアクセスをするところで
エラーとなります。Torque.initがされてないのかもしれません・・・

引き続き、調査いたします。



TK
常連さん
会議室デビュー日: 2002/08/13
投稿数: 42
投稿日時: 2003-10-30 15:10
TKです。
どうやら、Torque.propetiesの読み込みに失敗しているようです。
以下にTorque.initをしている部分のソースを記述します。

if(Torque.isInit()==false){
Class theClass = this.getClass();
ClassLoader theLoader = theClass.getClassLoader();
PropertiesConfiguration cf = new PropertiesConfiguration();
cf.load(theLoader.getResourceAsStream("Torque.properties"));
Torque.init(cf);
}

<ここでデータアクセス(SELECT>

これをTry-CatchのTry節にいれているのですが、何もエラーは取得できません。
Debug用に、System.err.println("-1-");等をいれてチェックしたところ、
Torque.init(c);以降に進んでいない・・・
ここで、Plugin が終わっています。(catchにも飛んでいません)

・・・
Torque.initのやり方を間違えているのでしょうか。
ちなみに、Torque.propertiesはWEB-INF/classesの下に置いています。


さやべえ
常連さん
会議室デビュー日: 2003/03/13
投稿数: 33
投稿日時: 2003-10-30 17:33
さやべえです。

私の場合、あまりよいとは思いませんが、プロパティファイルの場所を
絶対パスで指定しています。

すべてのJSPファイルにおいて

<%@ include file="/WEB-INF/jsp/InitTorque.jsp" %>

を指定しておきます。

InitTorque.jspの中身は

//ここから---------------------------------------
<%@ page import="java.util.ResourceBundle" %>
<%@ page import="org.apache.torque.Torque" %>

<%
ResourceBundle rb = ResourceBundle.getBundle("resources.database");

try {
if(!Torque.isInit()){
Torque.init(rb.getString("INIT_TORQUE"));
}
} catch (Exception e) {
e.printStackTrace();
}
%>
//ここまで---------------------------------------

resources.databaseファイルの中身は

//ここから---------------------------------------
INIT_TORQUE=/usr/local/hogehoege/WEB-INF/classes/resources/torque.properties
//ここまで---------------------------------------

こんな感じでやっています。

私の環境では、Tomcatのlogsフォルダの中にlogsフォルダ
ができ、その中にtorque.logが出来上がります。

ご参考までに
POTETO
常連さん
会議室デビュー日: 2003/10/06
投稿数: 41
投稿日時: 2003-11-04 22:32
こんばんわ。POTETOです。
このスレ解決しました?
ちなみに、私はTorque.propertiesの読込を以下のようにしています。
さやべえさんと同じでべた書きです。(他思いつかなかった。。。)

------- struts-config.xml --------------------
<plug-in name="XXXX.XXXXX.XXXXX.XxxxxxPlugIn">
<set-property property="filepath" value="/WEB-INF/config/Torque.properties" />
</plug-in>

------- XxxxxxPlugIn クラス -------------------------
filepathのGETTERとSETTER
init(ActionServlet servlet, ModuleConfig config) {
if(false == Torque.isInit()) {
this.servlet = servlet;
this.config = config;
String path = servlet.getServletContext().getRealPath(filepath);
Torque.init(path);
}
}

ところで、getMapBuilder()のオーバーライド警告の件何かわかりました?
私も出てるんですけど、どうしたものか悩んでいます。

数少ないTorqueネタで、フェードアウトはもったいないかと思ったので投稿しました。

[ メッセージ編集済み 編集者: POTETO 編集日時 2003-11-04 22:35 ]
TK
常連さん
会議室デビュー日: 2002/08/13
投稿数: 42
投稿日時: 2003-11-05 12:48
TKです。実際はまだ未解決です・・。というより、
並行してTorqueとstrutsに関する
色々なものに対応しているところです(笑)
月末に部分リリースがあるので、うまくいかなければ
そこまでは3.0.2でいこうと思っています。
近日中に試してみて、結果を報告させていただきます。
ちなみにdevelopeバージョンですが3.2がででますね・・・
さやべえさん、POTETOさんありがとうございました。

TK
常連さん
会議室デビュー日: 2002/08/13
投稿数: 42
投稿日時: 2003-11-10 21:12
こんにちは等スレッドをたてたTKです。
報告です。さやべえさんととまとさんの
アドバイスを参考にして・・・・
できました。余計なコンポーネントにパスが
通っていたのが原因でした。
ちなみに、メソッドオーバーライドの警告は
まだでています。

さやべえさん、とまとさん
ありがとうございました 

TK

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