2012-10-11 81 views
4

客戶端正嘗試將一些代理查詢代碼集成到現有的Web應用程序中。它們有以下代碼:SDL Tridion 2011 SP1代碼掛起創建代理查詢對象

public String doItNow(int keyA, 
         String schemaA, 
         String templateIdA) throws Exception { 

    loggerInfo("doItNow.start" + 
       ", key:" + keyA + 
       ", schema:" + schemaA + 
       ", templateId:" + templateIdA); 
    StringBuffer sb = new StringBuffer(); 

    PublicationCriteria pubCriteria = new PublicationCriteria(keyA); 
    loggerInfo("doItNow.PC:" + pubCriteria); 

    SchemaTitleCriteria schemaTitleCriteria = new SchemaTitleCriteria(schemaA); 
    loggerInfo("doItNow.STC:" + schemaTitleCriteria); 

    AndCriteria andCriteria = new AndCriteria(pubCriteria, schemaTitleCriteria); 
    loggerInfo("doItNow.AC:" + andCriteria); 

    Query query = new Query(); 
    loggerInfo("doItNow.Query.0:" + query); 
    query.setCriteria(andCriteria); 
    loggerInfo("doItNow.Query.1:" + query); 

    String[] results = query.executeQuery(); 
    for (String r : results) { 
     loggerInfo("doItNow.\tres:" + r); 
    } 

    ComponentPresentationAssembler cpa = new ComponentPresentationAssembler(keyA); 
    loggerInfo("doItNow.CPA:" + cpa); 

    for (String item : results) { 
     loggerInfo(":>" + item); 
     sb.append(cpa.getContent(item, templateIdA)); 
    } 

    return sb.toString(); 
} 

代碼exectues儘可能創建查詢對象:

Query query = new Query(); 

在這一點上掛起。在cd_core日誌文件中沒有錯誤顯示爲此的一個原因。任何人都可以建議可以進行調查的領域進一步調試,或者提出解決方案?

+1

可能值得檢查。正在使用什麼版本的JRE? jdbc驅動程序連接到數據庫時,版本1.6.0.29存在一些問題。我希望情況並非如此。 –

+0

Ram,就是這樣 - 日誌說「java.runtime.version = 1.6.0_29-b11」。發佈答案,我會接受它:) –

回答

0

有你加入了正確包括? (Tridion.ContentDelivery.DynamicContent.Query命名空間) 也如Chris所建議的,2011年tridion中的查詢沒有屬性setCriteria。 改爲使用query.Criteria。 您是否還在cd_storage_conf.xml中實施了必要的更改?

相關問題