如何从atg中的事件中获取配置文件?

时间:2014-03-03 06:54:54

标签: atg

我正在使用nameContextElementPreUnbound(NameContextBindingEvent pEvent)方法在会话到期之前触发,以便我们可以在会话过期之前保存会话详细信息。

我的方法在设置会话超时后被触发,但我无法从事件中获取配置文件。我尝试使用NucleusNameResolver来获取atg.userprofiling.Profile组件,但每次都会获得一个null配置文件。可能它会提取一个新的配置文件组件,而不是我登录的配置文件。

请提供一些从事件中获取配置文件的方法(NameContextBindingEvent)。

1 个答案:

答案 0 :(得分:0)

ATG有backing up the session的内置组件,但假设您确实需要session expiry event,此事件已经内置,可以通过配置启用。当此事件触发时,将发送包含对用户配置文件的引用的DMS消息。

要自定义,您需要执行以下操作:

  1. 确保SessionEventTriggers组件上已启用/atg/dynamo/servlet/dafpipeline/SessionEventTrigger
  2. 创建一个侦听EndSession事件的消息接收器。
  3. 创建消息处理程序,它可以执行您需要的任何操作。
  4. 请记住,用户配置文件也可能是暂时的,即用户实际上并未登录,因此您可能需要逻辑来处理此问题。还记得许多会话可以是非用户,例如像Googlebot这样的机器人在保存会话时要小心。