1

次のシナリオがあります。

  • LR ポータル 6.1.20 IBM WebSeal の背後にある EE GA2 ポータル
  • ステージングされたサイト
  • ステージングからライブまでコンテンツを公開する必要があるカスタム ポートレット

カスタム ポートレットはBasePortletDataHandler、次のメソッドを拡張およびオーバーライドするクラスを使用してコンテンツを公開しています。

  • doExportData
  • doImportData
  • doDeleteData
  • isAlwaysExportable
  • isPublishToLiveByDefault
  • isAlwaysStaged

これは、WebSeal がない開発モードでは非常にうまく機能します。コントロール パネルで、[サイト ページ] に移動し、[ライブに公開] を呼び出します。

ただし、本番環境では、このプロセスに 2 分以上かかると WebSeal タイムアウトが発生します。プロセスはまだバックグラウンドで実行されていますが、ユーザーはプロセスが完了したか、機能したか、または機能しなかったかを知る方法がありません。彼はそれについて何のフィードバックも受けません。

これらの問題を処理するコントロール パネル用のカスタム ポートレットを実装する方法はありますか? プロセスのステータスを取得/追跡するにはどうすればよいですか? また、セッションを存続させるにはどうすればよいですか?

4

1 に答える 1

1

私は liferay の経験はありませんが、WebSEAL を毎日管理しているので、その角度からあなたの質問にアプローチできます。個々のジャンクションでタイムアウトを増やすことができます。過去にアプリケーションで同様のシナリオに遭遇したことがあります。300 秒のタイムアウトまで上げる必要がありました。

[junction:junction_name]
http-timeout = 300
https-timeout = 300

http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/index.jsp?topic=%2Fcom.ibm.itame.doc_6.1.1%2Fam611_webseal_admin95.htm

サーバーのタイムアウトを増やす必要がある場合もあります。

[server]
client-connect-timeout = 300

http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/topic/com.ibm.itame.doc_6.1.1/am611_webseal_admin94.htm?path=3_10_3_3_1_4_0_6_5#http-https-タイムアウト

問題は、アプリケーションが TCP 接続を介してデータを送信しないため、WebSEAL が接続をタイムアウトにすることです。アプリケーションの動作を変更できない場合は、タイムアウトを増やす必要があります。手順が開始されたら、AJAX または同様のテクノロジを使用して、クライアントが定期的にサーバーにステータスを照会するようにすることをお勧めします。しかし、私たちと統合している顧客がいて、彼らはアプリケーション コードを変更できなかったため、タイムアウトも増やす必要がありました。

于 2013-11-23T00:52:49.900 に答える