- PR -

WebSphereで処理経過時間の取得方法について

1
投稿者投稿内容
beagle
会議室デビュー日: 2005/10/04
投稿数: 6
投稿日時: 2005-11-28 14:19
お世話になります。
ある処理の実行時間を取得したいのですが、うまくとれずに悩んでいます。

あるクラスから、下記のclassAのsetAメソッドを呼び出し、
[処理]の時間を出力したいのですが、
処理前も処理後も同じ時間が取得されてしまいます

一方、同様の機能をコマンドプロンプトで実行すると
正常に所要時間を取得することができるのです

この現象の原因を何かご存知の方がおられましたらご教授ください
よろしくお願いいたします

環境:WebSphere6.0

【classA】
public void setA(){
long long startTime = System.currentTimeMillis();
・・・[処理]
writeLog(startTime);
}

private void writeLog(long startTime){
long endTime = System.currentTimeMillis();
System.out.println("経過時間 = " + (endTime - startTime));
}

山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-11-28 14:42
いつ System. currentTimeMillis() を呼び出しても同じ値が返ってくるということでしょうか?
コマンドプロンプトで実行した際の JVM は WebSphere を動作させている JVM と同じでしょうか?
beagle
会議室デビュー日: 2005/10/04
投稿数: 6
投稿日時: 2005-11-28 16:04
失礼しました。細かく値をとったところ
いつ取得しても全く同じ、ではなく
1133160047765
1133160047781・・・・・などと15または16の差で取得できていました。
この差で取得できることで正常なのでしょうか?
また、JVMは異なるものです。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-11-28 16:25
>この差で取得できることで正常なのでしょうか?
うーんと、質問の意図がちょっとわかりませんが何度呼び出しても同じ値が返ってくるとか時間を追う毎に値が減ってくるとかなければ正常ではないかと思います。
1

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