2012-09-19 69 views
1

我沒有與我的智能目標應用程序的任何錯誤,但我在事件日誌中確實看到,以下錯誤消息:SmartTarget在日誌文件中的錯誤

ERROR 2012-09-19 14:30 :09 com.tridion.smarttarget.utils.AmbientDataHelper - 找不到要求存儲中定義 觸發類型(是否你smarttarget盒 啓動並運行)

和:

ERROR 2012-09-19 14點30分十一秒 com.tridion.smarttarget.tags.TimeoutQueryRunner - 該fredhopper查詢 超時java.util.concurrent.TimeoutException在 java.util.concurrent.FutureTask中$ Sync.innerGet (Unknown Source)at java.util.concurrent.FutureTask.get(Unknown Source)at com.tridion.smarttarget.tags.TimeoutQueryRunner.executeQuery(TimeoutQueryRunner.java:64) ERROR 2012-09-19 14:30: 11 com.tridion.smarttarget.tags.TimeoutQueryRunner - 該fredhopper查詢 超時

我真的想了解什麼是造成這些以及我如何刪除它們。或者一些建議的步驟來幫助我調試這將是偉大的:)

正如我所說,一切工作完美,日後在日誌中我看到查詢到ST是正確的,結果正在生成。

如果有幫助,我使用Smart Target 2010(Java 1.5)在2009年實施。

感謝

約翰

回答

2

聽起來像是你可能有ST配置的觸發器實際上並不存在於ADF(或不匹配)。你看過你的trigger-types.xml文件是否有任何明顯的東西?您是否禁用了ADF盒​​式磁帶,但未刪除XML中相應的觸發器?請參閱Defining trigger types的文檔。

我認爲你的超時來自SmartTarget區域而不是FredHopper。有時,一個尚未在FredHopper中緩存的查詢可能需要一段時間才能返回,儘管它最終是成功的。 ST查詢標籤有一個超時(在smarttarget_conf.xml文件中定義,或者被標籤屬性覆蓋),它將在等待來自Fredhopper的響應,然後再使用後備內容。這可以解釋爲什麼你在日誌後面看到查詢是正確的並且返回結果。請參閱<tcdl:query>的文檔。

對您沒有確定的答案我很害怕,但我希望能對您有所幫助。

1

第一個錯誤記錄,如果你的SmartTarget盒未運行 - 或者,如果它付諸ADF數據不知何故而丟失(例如,你在你的Web服務器有殘疾會話)。

在這種情況下,SmartTarget仍然會執行一個查詢,但它不包含環境數據框架中的任何內容。如果您沒有任何基於環境數據的觸發器,最終結果對您而言也是一樣的。

要消除錯誤,請確保smarttarget_cartridge配置正確。

至於超時錯誤,它只是表示發送給Fredhopper的查詢花費的時間比配置的時間長。在這種情況下,它會顯示回退內容。如果發生這種情況,您可能需要增加smarttarget_conf.xml中的超時時間。

1

我希望你找到了這個問題,但爲了將來的參考,當SmartTarget盒沒有設置索賠「taf:claim:ambientdata:definedtriggertypes」時,會引發第一個錯誤消息。這可能是由於:

  • SmartTarget盒式磁帶無法從SmartTarget服務器加載觸發器類型。日誌將顯示錯誤「無法從FH檢索已定義的觸發器類型列表」。
  • 在主動訪問(HTTP會話過期但瀏覽器仍處於打開狀態)期間,Web服務器上的HTTP會話已過期,並且聲明已「丟失」。
  • 服務器不支持Peter提到的會話。