1

アダプターが MobileFirst Development Server で実行されているかどうか、または完全なサーバーにデプロイされているかどうかを知る方法はありますか?

- アップデート -

具体的には、アダプターのコード自体から、アダプターが開発者のマシンで実行されているのか、それとも WAS/Tomcat/non-development Liberty Profile で実行されているのかを調べたいと考えています。

テスト用の一部のアダプター・プロシージャーを保護しないままにしておくために、これを知りたいです。このテスト手順は次のようになります

function testThisAdapter() {
    if (isDevelopmentServer()) {
        return doMyTestStuff();
    } else {
        return {isSuccess: false, errors: ['nice try']};
    }
}

- アップデート -

これは私がイダンの答えで使用しているものです

function isDevelopmentServer() {
    var clientRequest = WL.Server.getClientRequest();
    var url = clientRequest.getRequestURI();
    var pattern = /\/dev\/invoke/;
    return pattern.test(url);
}
4

1 に答える 1

2

更新: 6.3 (またはそれ以前) の Studio MoblieFirst 開発サーバーを使用する場合、すべてのアダプター要求は開発サーブレットを通過します。リクエスト URL には/dev/が含まれます: http://serverIp:10080/my-project-name/dev/invoke?adapter=my-adapter-name&procedure=my-procedure-name. ここを参照してください: MobileFirst Server 実動サーバーのエンドポイント

それが私が知っている唯一の差別化要因です。アダプターコードでそれを使用できるかどうかはわかりません。おそらく、クライアントでこの URL を取得したり、その存在を検証したりすることができれば、アプリの適切なロジックを考案できます。


次のユーザー ドキュメントのトピックを参照してください:サーバーの状態をチェックするためのバイタリティ クエリ

IBM® Worklight® 活力照会を使用してサーバーのヘルス・チェックを実行し、サーバーの活力状況を判別します。

一般に、ロード・バランサーまたはモニター・アプリ (例えば、パトロール) からの IBM Worklight バイタリティ照会を使用します。

サーバー全体、特定のアダプター、特定のアプリ、またはそれらの組み合わせに対してバイタリティ クエリを実行できます。次の表に、バイタリティ クエリの例をいくつか示します。

アダプターの場合、クエリは次のようになります。http://<server>:<port>/<publicWorkLightContext>/ws/rest/vitality?app=MyApp&adapter=MyAdapter

ユーザー ドキュメントのトピックには、より多くの情報と例が含まれています。

于 2015-03-12T19:21:24.417 に答える