4

客户端正在尝试将一些代理查询代码集成到现有的 Web 应用程序中。他们有以下代码:

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();
}

代码执行至创建 Query 对象:

Query query = new Query();

此时它挂起。cd_core 日志文件中没有出现任何错误来说明原因。任何人都可以建议可以调查以进一步调试的领域,或提出解决方案吗?

4

3 回答 3

7

JRE 版本 1.6.0.29 和 MSSQL jdbc 驱动程序存在已知问题。您需要降级或升级到不同的 JRE 版本。

https://forums.oracle.com/forums/thread.jspa?threadID=2301826

该问题似乎与驱动程序报告的问题非常相似,您也看不到任何错误消息。

于 2012-10-11T13:24:59.260 回答
0

尝试更改以下行:

query.setCriteria(andCriteria);

到:

query.Criteria = andCriteria;

SDL LiveContent 示例有一条评论建议进行此更改。

http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/concept_0AB6D192D7AB4EC18892631F519EF1DD

于 2012-10-11T11:54:06.520 回答
0

您是否添加了正确的包含?(Tridion.ContentDelivery.DynamicContent.Query 命名空间)同样正如 Chris 所建议的,tridion 2011 中的查询没有setCriteria. 改为使用query.Criteria。您是否还在 cd_storage_conf.xml 中实施了必要的更改?

于 2012-10-11T13:17:37.640 回答