@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

EZJCom(評価版)を用いたJava-COM連携処理における異常終了について

1
投稿者投稿内容
ぬーだ
会議室デビュー日: 2009/03/11
投稿数: 8
投稿日時: 2009-04-03 17:02
<概要>
JRA(日本中央競馬会)提供のJVLink API(ActiveX COMオブジェクト)をJavaから操作する為のJavaAPIを作成しています。
COMオブジェクトとの連携にEZJComというソリューションの評価版を用いているのですが、処理途中で例外が発生し処理が強制終了してしまいます。

<処理内容>
1)JVLink#JVInit JVLinkイニシャライズ処理
2)JVLink#JVOpen データファイルダウンロード/オープン処理(セットアップモード:OPTION=4 で起動/1986年1月1日以降のレース詳細/馬毎レース情報を取得)
3)JVLink#JVGets ファイル読み込み処理
:全てのファイルの読み込みが終了するまでループ
4)JVLink#JVClose セッションクローズ

<エラー内容>
17万件程のデータファイルを読んだ時点でJComExceptionがスローされる。
#以下、Log4Jの例外発生時のログ
[15:56:20][DataProvider][main][FATAL]- JComException:Evaluation DLL running time limit has expired

ログ中に現れる「DataProvider」は、私が作成した「データ読み込みをJavaから行う」クラスです。
例外は、EZJComで作成したネイティブメソッド(JVLinkラッパーメソッド)からスローされているので、今回の例外には直接関係しないと思われます。

<補足>
直訳すると
「DLLの実行時間がリミットに達しました」
となるのだと思われますが、私はEZJCom(JComObject)に関して浅学なので、実際の原因がよくわかりません。

このエラーについてお分かりの方若しくは対処方法を知っている方いらっしゃいましたら、ご教授願います。

また、EZJCom以外のフリーで安定した「Java-COM Bridge」がございましたら、紹介して頂けると助かります。

※因みに、私は日本の方が作成した「JCom」の導入を検討中です

[ メッセージ編集済み 編集者: ぬーだ 編集日時 2009-04-03 17:04 ]
ぬーだ
会議室デビュー日: 2009/03/11
投稿数: 8
投稿日時: 2009-04-03 17:26
補足情報
因みに、開発環境は以下のような感じです

WindowsXP Pro SP3
JDK 6.0
EZ JCom 1.8.8-a

です。

また、私の方でもEZJcomのドキュメンテーション/Web等で原因を追跡中です(本当はこちらが先ですね。すみません…)
a-san
ベテラン
会議室デビュー日: 2004/06/01
投稿数: 53
投稿日時: 2009-04-04 02:17
検索してみると、こんなブログが見つかりましたが、役に立ちますか?
http://keiba3.exblog.jp/i10/
ぬーだ
会議室デビュー日: 2009/03/11
投稿数: 8
投稿日時: 2009-04-04 08:44
>a-sanさん
ご回答&わざわざ調べて頂きありがとうございます。

ご紹介して頂いたブログを拝見致しました。

やはり、同じような事を考えている方はいらっしゃるんですね。

以前検索をかけた際は、(JVLinkとJavaの連携についての)情報ソースがあまりにも少なかったため「自力で何とかするしかない」と思っておりました。

JACOBですか。

ちょっと試してみようと思います。

※ブログを読んでみた感想として…
「やはり、JNIでラッピングするのが早道なのでは」
と思ったりもしています。(後学の為にも)


<補足>
「素直にMicrosoft系の言語使おうよ」
というご意見もあるかとは思いますが、私がJavaにこだわっているのには理由があります。

理由1)(ServletやEJB等の)J2EE技術を用いて、WebアプリケーションからJVLink連携を行いたいから。
(つまり、C/S連携を行いたくない)

理由2)IISを導入したくない(つまり、サーバの数を増やしたくない)

現在、DBサーバはFedora5上で動かしているMySQLを使っており、Web/APサーバはWindowsXP Proを開発機として、Tomcatを利用した形で構成しています。

大真面目にシステム構築するなら…

ユーザ(Webブラウザ)
  ↑
  ↓
Webサーバ(Apache HTTP Server)
  ↑
  ↓
APサーバ(Tomcat)←[SOAP]→APサーバ(IIS)←→JRA-VAN
  ↑
  ↓
DBサーバ

            
のような構成が考えられますが、今回の開発は仕事ではなく趣味で行っているので、あまりお金を掛けたくないというのもあります。


W2K3 Serverが無償で使えるのであれば、あまり拘らないのですが(笑)


[ メッセージ編集済み 編集者: ぬーだ 編集日時 2009-04-04 08:46 ]

[ メッセージ編集済み 編集者: ぬーだ 編集日時 2009-04-04 08:50 ]

[ メッセージ編集済み 編集者: ぬーだ 編集日時 2009-04-04 08:50 ]
1

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