日志文件中存在SmartTarget错误



我的智能目标应用程序没有任何错误,但我在事件日志中看到了以下错误消息:

错误2012-09-19 14:30:09com.tridion.smarttarget.utils.AmbientDataHelper-找不到定义的索赔存储中的触发器类型(检查您的smarttarget盒带是否启动和运行)

和:

错误2012-09-19 14:30:11com.tridion.smarttarget.tags.TimeoutQueryRunner-fredchopper查询处的java.util.concurrent.TimeoutException超时位于的java.util.concurrent.FFutureTask$Sync.innerGet(未知源)位于的java.util.concurrent.FFutureTask.get(未知源)com.tridion.smarttarget.tags.TimeoutQueryRunner.executeQuery(TimeoutQueryRunner.java:64)错误2012-09-19 14:30:11com.tridion.smarttarget.tags.TimeoutQueryRunner-fredchopper查询超时

我真的很想了解是什么导致了这些问题,以及如何删除它们。或者一些建议的步骤来帮助我调试这将是伟大的:)

正如我所说,一切都很顺利,稍后在日志中,我看到对ST的查询是正确的,并且正在生成结果。

如果有帮助的话,我正在运行2009年的Smart Target 2010 java 1.5实现。

感谢

约翰·

听起来您可能在ST中配置了一个触发器,但该触发器实际上并不存在于ADF中(或不匹配)。您是否查看了您的trigger-types.xml文件中的任何明显内容?您是否禁用了ADF盒带,但可能没有删除XML中相应的触发器?请参阅有关定义触发器类型的文档。

我认为您的超时来自SmartTarget区域,而不是FredHopper。有时,尚未缓存在FredHopper中的查询可能需要一段时间才能返回,即使它最终成功了。ST查询标记有一个超时(在smarttarget_conf.xml文件中定义,或被标记属性覆盖),它将等待Fredhopper的响应,然后再使用回退内容。这可能解释了为什么您稍后在日志中看到查询是正确的,并且返回了结果。请参阅<tcdl:query>的文档。

恐怕没有确切的答案,但我希望这会有所帮助。

如果SmartTarget盒带没有运行,或者它放入ADF的数据以某种方式丢失(例如,您在web服务器中禁用了会话),则会记录第一个错误。

在这种情况下,SmartTarget仍然会进行查询,但不会包含环境数据框架中的任何内容。如果您没有任何基于环境数据的触发器,最终结果对您来说是一样的。

若要消除此错误,请确保smarttarget_cartridge配置正确。

至于超时错误,它只是意味着发送到Fredhopper的查询所花费的时间比配置的时间长。在这种情况下,它将显示回退内容。如果这种情况经常发生,您可能需要增加smarttarget_conf.xml.内的超时时间

我希望您发现了这个问题,但为了将来参考,当SmartTarget盒带未设置声明"taf:claim:ambientdata:definedtriggertypes"时,会引发第一条错误消息。这可能是由以下原因引起的:

  • SmartTarget盒带无法从SmartTarget服务器加载触发器类型。日志将显示一个错误"无法从FH检索已定义触发器类型的列表">
  • web服务器上的HTTP会话在活动访问期间过期(HTTP会话已过期,但浏览器仍处于打开状态),索赔"丢失">
  • 服务器不支持Peter提到的会话

最新更新