0

LotusDominosメールボックスからの電子メールを読み取るタスクがあります。同じことを実行するために、次の2つのオプションがあります(他のオプションもある可能性があります)。

  1. メールボックス内にJavaエージェントを作成し、スケジュールします。メールを処理してアクションを実行します。\
  2. 使用済みのNotesAPIを使用して個別のJavaコードを記述し、ドミノサーバーを呼び出してメールをフェッチして処理します。

両方の違いは何ですか?機能か何か他のもの?

4

2 に答える 2

2

電子メールサーバー内で実行するJavaエージェントを作成します

長所

  1. メールサーバー自体のすべての復元力を活用できます
  2. 電子メールサーバーで開始および停止することが合理的に保証されます
  3. 管理するコードが少ない
  4. 電子メールサーバーでエラーログを保持しやすく

短所

  1. ベンダー固有なので、移植性が低くなります

個人的な意見の理由

IMAPを使用して受信トレイ内の電子メールを定期的に読み取るクライアントを作成し、 JamesMailServerをセットアップしましたあなたが話しているエージェントのようなものを使って、メールアドレスで受信したメールにプログラムで応答します。オプション1(電子メールサーバー内で実行されるJavaエージェント)は、電子メールサーバー自体のすべての復元力を活用できるため、私は好む傾向があります。コードは、電子メールサーバーで開始および停止することが合理的に保証されており、そのログはサーバーのログに接続されています。スタンドアロンエージェントを作成すると、初期構成以外のサーバーを操作できるという利点があります(特に、標準プロトコルを利用する場合)。しかし、それが機能していることを確認するためにもっと多くのことをしなければならず、デバッグするためにもっと一生懸命働かなければなりません(私自身の経験では)。また、Java Agentのアプローチは小さくなる傾向があるため、管理するコードが少なくなります。

于 2012-08-29T16:00:28.817 に答える
0

メールボックスを1つだけ監視している場合、Javaエージェントには構成データが必要ないため、明らかな利点があります。エージェントを実際のメールボックスデータベースに配置するだけで、実行時にAgentContext.getCurrentDatabaseが呼び出されます。少数のマイボックスのみを監視している場合は、エージェントを複製するだけで、各インスタンスはAgentContext.getCurrentDatabaseを読み取るだけです。ただし、メールボックスが多数ある場合は、それをあちこちに複製したくないでしょう。おそらく、単一のエージェントまたはスタンドアロンプ​​ログラムが必要です。どちらの場合も、それを制御するための構成データが必要になります。これは、エージェントとしてではなく、スタンドアロンで実行することを検討する場合です。

しかし、それは疑問を投げかけます:構成データをどのように管理したいですか?そして、別の質問がそこから来ます:誰が構成データを管理するのですか?答えが、Dominoサーバーの管理者がメールボックスデータを読み取るプロセスの構成も管理するというものである場合は、すべてのDomino管理者に馴染みのある構成ツールを使用することをお勧めします。これは、メールボックスの名前を一覧表示するDominoディレクトリ内のグループである場合もあれば、監視している各メールボックスの構成ドキュメントを含むNotesデータベースである場合もあります。そして、この方法を選択した場合でも、Dominoサーバー上の構成情報を読み取り、構成されたメールボックスからデータを読み取るDominoエージェントを使用することをお勧めします。しかし、ここでの利点はありません」強い。Dominoで構成できますが、スタンドアロンで実行できます。スタンドアロンコードは、構成データを探す場所を認識できるように構成する必要があります。これは、「javamyprogdominoServerNameconfigDatabaseName」のようなコマンドラインである可能性があります。

于 2012-08-29T17:58:44.360 に答える