2009-03-15 18 views
1

私はJavaでオブジェクトにデータを書き込むWindowsサービスを作成しています。 このオブジェクトは別のJavaプログラムからアクセスできる必要があります。 取るべき最良のアプローチは何ですか?javaサービスとリソースの共有

ありがとうございます。 ジャック

答えて

0

は、それが他のプロセスとの書き込み/ファイルにオブジェクトをシリアライズして読んでください! JAXBやXStreamなどのフレームワークを使用してXMLにもシリアライズできます。

もう一つの方法はJMSですが、マスターするのは難しいです。

+0

@Martin、 感謝。私は前にあなたの提案を考えましたが、これにもっと良いアプローチがあるかどうかを知りたいと思います。 1秒間に数回更新される非常に長いフィールド値ペアのリストがあります。ですから、最良のソリューションをシリアル化していますか? –

+0

それに加えて、誰かがWindowsでJavaサービスを作成する最も適切な方法についてのチュートリアルを教えてくれますか? –

+0

ファイルを使用する際の問題は、ファイルが更新されていないことを読者が認識していることと、ライターがファイルの読み込み中にファイルを更新しようとしないことを保証することです。 –

1

あなたは2つのJavaプロセスがお互いを「見る」ことができる方法について詳しく説明しない限り、私は、「ファイルに入れて」アプローチに同意します。彼らは同時に走っていますか?同じマシンで?その他どのようなデータを転送する必要がありますか?


すべてのアプリケーションとサービスは、データを書き込むことができた場合は、(アプリケーションAまたはサービスの1)が正しいとするデータを決定する際に問題を抱えています。

「共通データストア」問題への簡単なアプローチは、JBossのようなほとんどのJava EEサーバーに含まれるJNDIサーバーで、各構成には同じJNDIサーバーから読み取るよう指示されています。クライアントがJNDIの情報を更新できるかどうかは不明ですが、これはおそらくベンダー固有のものです。

+0

@Thorbjorn、 はい、サービス及び他の(別)アプリケーションは、両方とも同じマシン上で高速で共有データの書き込み/読み出しされます。データは、基本的にフィールドと値のペアのリストです。 –

0

昔ながらRMIはあなたが必要なもののために使用されたものです。 WSのような新しい選択肢が優先されますが、おそらく最初のもので十分です。

関連する問題