1

我有以下情况:

  • IBM WebSeal 后面的 LR Portal 6.1.20 EE GA2 Portal
  • 分阶段站点
  • 需要将其内容从登台发布到实时的自定义 portlet

BasePortletDataHandler自定义 portlet 使用扩展并覆盖以下方法的类发布其内容:

  • 做出口数据
  • 导入数据
  • 删除数据
  • 始终可导出
  • isPublishToLiveByDefault
  • 总是上演

这在没有 WebSeal 的开发模式下非常有效。在控制面板中,您转到“站点页面”并调用“发布到生活”。

然而,在生产中,只要这个过程花费超过 2 分钟,我们就会得到 WebSeal 超时。该进程仍在后台运行,但用户无法判断它是否已完成、是否有效或无效。他从来没有得到任何反馈。

有没有办法为控制面板实现一个定制的 portlet 来解决这些问题?我如何获取/跟踪进程的状态以及如何使会话保持活动状态?

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-timeouts

问题是应用程序不通过 TCP 连接发送任何数据,因此 WebSEAL 使连接超时。除非您可以更改应用程序的工作方式,否则您将不得不增加超时。最好使用 AJAX 或类似技术让客户端在程序启动后定期向服务器查询状态。但是,我有一个客户正在与我们集成,他们无法更改他们的应用程序代码,因此我也被迫增加了他们的超时时间。

于 2013-11-23T00:52:49.900 回答