4

クライアントは、一部の Broker Query コードを既存の 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

正しいインクルードを追加しましたか? (Tridion.ContentDelivery.DynamicContent.Query Namespace) また、Chris が提案したように、tridion 2011 の query には としてのプロパティがありませんsetCriteriaquery.Criteria代わりに使用してください。また、必要な変更を cd_storage_conf.xml に実装しましたか?

于 2012-10-11T13:17:37.640 に答える
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 に答える