日志文件中的SmartTarget错误

时间:2012-09-19 13:43:00

标签: tridion fredhopper smarttarget

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

  

错误2012-09-19 14:30:09   com.tridion.smarttarget.utils.AmbientDataHelper - 找不到定义的   声明商店中的触发器类型(检查您的smarttarget盒式磁带是否为   启动并运行)

  

错误2012-09-19 14:30:11   com.tridion.smarttarget.tags.TimeoutQueryRunner - fredhopper查询   超时java.util.concurrent.TimeoutException   java.util.concurrent.FutureTask $ Sync.innerGet(未知来源)at   java.util.concurrent.FutureTask.get(未知来源)at   com.tridion.smarttarget.tags.TimeoutQueryRunner.executeQuery(TimeoutQueryRunner.java:64)   错误2012-09-19 14:30:11   com.tridion.smarttarget.tags.TimeoutQueryRunner - fredhopper查询   超时

我真的很想了解导致这些的原因以及如何删除它们。或者一些建议的步骤来帮助我调试这个很棒:)

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

如果有帮助,我正在使用Smart Target 2010,java 1.5进行2009实施。

感谢

约翰

3 个答案:

答案 0 :(得分:2)

听起来您可能在ST中配置了一个实际上不存在于ADF中(或不匹配)的触发器。你有没有看过你的trigger-types.xml文件中有什么明显的东西?您是否已禁用ADF盒式磁带但未删除XML中的相应触发器?请参阅Defining trigger types的文档。

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

我很害怕,但我希望这有帮助。

答案 1 :(得分:1)

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

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

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

对于超时错误,它只是意味着发送到Fredhopper的查询花费的时间超过了配置的时间。在这种情况下,它将显示后备内容。如果发生这种情况,您可能希望在smarttarget_conf.xml中增加超时。

答案 2 :(得分:1)

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

  • SmartTarget磁带无法从SmartTarget服务器加载触发器类型。该日志将显示错误“无法从FH检索已定义触发器类型的列表”。
  • 您的网络服务器上的HTTP会话在活动访问期间已过期(HTTP会话已过期,但浏览器仍处于打开状态)且声明已“丢失”。
  • 服务器不支持Peter提到的会话。