内容传递错误 - Smarttarget

时间:2012-06-13 11:47:39

标签: tridion tridion-2011 tridion-content-delivery smarttarget

我最近使用Tridion 2011 SP1(带有修补程序SP1)安装并配置了Smarttarget 2011。

  1. 我能够成功启动QServer和Loaders。
  2. 我的内容传送是一个.NET Web应用程序,它按照以下配置 手册。
  3. 我最初尝试从a发布现有页面 网站,稍后我将修改以使其启用Smarttarget。
  4. 发布页面时,我在部署期间收到错误。

    以下是我在部署者日志中看到的错误部分。

  5.   

    2012-06-13 16:44:29,781 INFO模块 - 未配置TransformProcessor,在部署模块com.tridion.deployer.modules.SchemaDeploy之前不会转换文件   2012-06-13 16:44:29,781 DEBUG TCDLEngine - TCDL:使用内置标签注册表   2012-06-13 16:44:29,781 DEBUG TCDLEngine - 加载TCDL标签包com / tridion / smarttarget / tcdl / tagbundle.xml   2012-06-13 16:44:29,781 ERROR ModuleFactory - 无法创建模块   com.tridion.util.TridionReflectionException:目标类的构造函数抛出异常,null,null       at com.tridion.util.ReflectionUtil.loadClassInstanceWithTypes(ReflectionUtil.java:74)[cd_core.jar:na]       在com.tridion.deployer.ModuleFactory.createModule(ModuleFactory.java:109)〜[cd_deployer.jar:na]       在com.tridion.deployer.Processor.configure(Processor.java:81)[cd_deployer.jar:na]       在com.tridion.deployer.Processor。(Processor.java:65)[cd_deployer.jar:na]       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)[na:1.6.0_11]       at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)[na:1.6.0_11]       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)[na:1.6.0_11]       at java.lang.reflect.Constructor.newInstance(Unknown Source)[na:1.6.0_11]       at com.tridion.util.ReflectionUtil.loadClassInstanceWithTypes(ReflectionUtil.java:63)[cd_core.jar:na]       在com.tridion.util.ReflectionUtil.loadClassInstance(ReflectionUtil.java:106)[cd_core.jar:na]       在com.tridion.deployer.ProcessorFactory.createProcessor(ProcessorFactory.java:130)[cd_deployer.jar:na]       在com.tridion.deployer.ProcessorFactory.createProcessors(ProcessorFactory.java:114)[cd_deployer.jar:na]       在com.tridion.deployer.workers.ProcessorWorker.doWork(ProcessorWorker.java:61)[cd_deployer.jar:na]       在com.tridion.deployer.phases.ProcessingPhase.execute(ProcessingPhase.java:73)[cd_deployer.jar:na]       at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:186)[cd_deployer.jar:na]       在com.tridion.deployer.phases.DeployPipelineExecutor.doExecute(DeployPipelineExecutor.java:97)[cd_deployer.jar:na]       在com.tridion.deployer.phases.DeployPipelineExecutor.execute(DeployPipelineExecutor.java:61)[cd_deployer.jar:na]       在com.tridion.deployer.TransactionManager.handleDeployPackage(TransactionManager.java:80)[cd_deployer.jar:na]       在com.tridion.deployer.queue.QueueLocationHandler $ 1.run(QueueLocationHandler.java:176)[cd_deployer.jar:na]       at java.util.concurrent.Executors $ RunnableAdapter.call(Unknown Source)[na:1.6.0_11]       at java.util.concurrent.FutureTask $ Sync.innerRun(Unknown Source)[na:1.6.0_11]       at java.util.concurrent.FutureTask.run(Unknown Source)[na:1.6.0_11]       at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(Unknown Source)[na:1.6.0_11]       at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)[na:1.6.0_11]       在java.lang.Thread.run(未知来源)[na:1.6.0_11]   2012-06-13 16:44:29,781 ERROR ProcessorFactory - 无法加载处理器   com.tridion.util.TridionReflectionException:目标类的构造函数抛出异常,null,null       at com.tridion.util.ReflectionUtil.loadClassInstanceWithTypes(ReflectionUtil.java:74)〜[cd_core.jar:na]       在com.tridion.util.ReflectionUtil.loadClassInstance(ReflectionUtil.java:106)〜[cd_core.jar:na]       在com.tridion.deployer.ProcessorFactory.createProcessor(ProcessorFactory.java:130)[cd_deployer.jar:na]       在com.tridion.deployer.ProcessorFactory.createProcessors(ProcessorFactory.java:114)[cd_deployer.jar:na]       在com.tridion.deployer.workers.ProcessorWorker.doWork(ProcessorWorker.java:61)[cd_deployer.jar:na]       在com.tridion.deployer.phases.ProcessingPhase.execute(ProcessingPhase.java:73)[cd_deployer.jar:na]       at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:186)[cd_deployer.jar:na]       在com.tridion.deployer.phases.DeployPipelineExecutor.doExecute(DeployPipelineExecutor.java:97)[cd_deployer.jar:na]       在com.tridion.deployer.phases.DeployPipelineExecutor.execute(DeployPipelineExecutor.java:61)[cd_deployer.jar:na]       在com.tridion.deployer.TransactionManager.handleDeployPackage(TransactionManager.java:80)[cd_deployer.jar:na]       在com.tridion.deployer.queue.QueueLocationHandler $ 1.run(QueueLocationHandler.java:176)[cd_deployer.jar:na]       at java.util.concurrent.Executors $ RunnableAdapter.call(Unknown Source)[na:1.6.0_11]       at java.util.concurrent.FutureTask $ Sync.innerRun(Unknown Source)[na:1.6.0_11]       at java.util.concurrent.FutureTask.run(Unknown Source)[na:1.6.0_11]       at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(Unknown Source)[na:1.6.0_11]       at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)[na:1.6.0_11]       在java.lang.Thread.run(未知来源)[na:1.6.0_11]   2012-06-13 16:44:29,781 ERROR ProcessorWorker - 无法配置处理器   com.tridion.configuration.ConfigurationException:无法加载处理器,目标类的构造函数抛出异常,null,null,目标类的构造函数抛出异常,null,null       在com.tridion.deployer.ProcessorFactory.createProcessor(ProcessorFactory.java:133)〜[cd_deployer.jar:na]       在com.tridion.deployer.ProcessorFactory.createProcessors(ProcessorFactory.java:114)〜[cd_deployer.jar:na]       在com.tridion.deployer.workers.ProcessorWorker.doWork(ProcessorWorker.java:61)〜[cd_deployer.jar:na]       在com.tridion.deployer.phases.ProcessingPhase.execute(ProcessingPhase.java:73)[cd_deployer.jar:na]       at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:186)[cd_deployer.jar:na]       在com.tridion.deployer.phases.DeployPipelineExecutor.doExecute(DeployPipelineExecutor.java:97)[cd_deployer.jar:na]       在com.tridion.deployer.phases.DeployPipelineExecutor.execute(DeployPipelineExecutor.java:61)[cd_deployer.jar:na]       在com.tridion.deployer.TransactionManager.handleDeployPackage(TransactionManager.java:80)[cd_deployer.jar:na]       在com.tridion.deployer.queue.QueueLocationHandler $ 1.run(QueueLocationHandler.java:176)[cd_deployer.jar:na]       at java.util.concurrent.Executors $ RunnableAdapter.call(Unknown Source)[na:1.6.0_11]       at java.util.concurrent.FutureTask $ Sync.innerRun(Unknown Source)[na:1.6.0_11]       at java.util.concurrent.FutureTask.run(Unknown Source)[na:1.6.0_11]       at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(Unknown Source)[na:1.6.0_11]       at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)[na:1.6.0_11]       在java.lang.Thread.run(未知来源)[na:1.6.0_11]

    更新了部署者配置。

    <Processors> 
    <!-- A Processor is triggered by the Deployer to process an incoming
               TransportPackage based on the 'Action' command in the
               ProcessorInstructions. The default Processor triggers modules
               sequentially as they are defined in a Processor section. The 'Class'
               attribute defines the Processor class that will be used for processing an action.
               'Phase' attribute is optional and it defines in which processing phase this processor is active. 'Phase'
               attribute can have following values: pre-processing, processing, post-processing, pre-transaction and post-transaction-->  
    <!-- <Processor Action="Deploy" Class="com.tridion.deployer.Processor" Phase="post-transaction"> -->  
    <Processor Action="Deploy" Class="com.tridion.deployer.Processor"> 
      <!-- A Module is triggered by a Processor to process incoming instructions.
                    The 'Type' attribute needs to be unique within a Processor and serves
                    as a symbolic identifier. The 'Class' attribute defines the
                    implementation used for any type of Module. Replace or add modules to
                    implement custom Deployer behavior. -->  
      <Module Type="SchemaDeploy" Class="com.tridion.deployer.modules.SchemaDeploy"/>  
      <Module Type="PageDeploy" Class="com.tridion.deployer.modules.PageDeploy"> 
        <!-- The transformer enables the TCDL Engine -->  
        <Transformer Class="com.tridion.deployer.TCDLTransformer"/> 
      </Module>  
      <Module Type="BinaryDeploy" Class="com.tridion.deployer.modules.BinaryDeploy"/>  
      <Module Type="ComponentDeploy" Class="com.tridion.deployer.modules.ComponentDeploy"/>  
      <Module Type="TemplateDeploy" Class="com.tridion.deployer.modules.TemplateDeploy"/>  
      <Module Type="PublicationDeploy" Class="com.tridion.deployer.modules.PublicationDeploy"/>  
      <!-- This module enables deployment of taxonomies -->  
      <Module Type="TaxonomyDeploy" Class="com.tridion.deployer.modules.TaxonomyDeploy"/>  
      <Module Type="ComponentPresentationDeploy" Class="com.tridion.deployer.modules.ComponentPresentationDeploy"> 
        <!-- The transformer enables the TCDL Engine -->  
        <Transformer Class="com.tridion.deployer.TCDLTransformer"/> 
      </Module>  
      <!-- This module enables deployment of structure groups -->  
      <Module Type="StructureGroupDeploy" Class="com.tridion.deployer.modules.StructureGroupDeploy"/> 
    </Processor>  
    <Processor Action="Undeploy" Class="com.tridion.deployer.Processor"> 
      <Module Type="PageUndeploy" Class="com.tridion.deployer.modules.PageUndeploy"/>  
      <Module Type="ComponentPresentationUndeploy" Class="com.tridion.deployer.modules.ComponentPresentationUndeploy"/>  
      <!-- This module enables the undeploy of taxonomies -->  
      <Module Type="TaxonomyUndeploy" Class="com.tridion.deployer.modules.TaxonomyUndeploy"/>  
      <!-- This module enables the undeploy of structure groups -->  
      <Module Type="StructureGroupUndeploy" Class="com.tridion.deployer.modules.StructureGroupUndeploy"/> 
    </Processor>  
    <Processor Action="Deploy" Class="com.tridion.deployer.Processor" Phase="post-transaction">
      <Module Type="SmartTargetDeploy" Class="com.tridion.smarttarget.deployer.FredhopperDeployerModule">
        <Transformer Class="com.tridion.deployer.TCDLTransformer"/>
      </Module>
    </Processor>
    <Processor Action="Undeploy" Class="com.tridion.deployer.Processor" Phase="post-transaction">
      <Module Type="SmartTargetUndeploy" Class="com.tridion.smarttarget.deployer.FredhopperUndeployModule"/>
    </Processor>
    

1 个答案:

答案 0 :(得分:1)

Bukubapi解释说这是缺少SmartTarget罐子的特例。以下是一些其他安装细节和步骤,帮助我完成了一些最近的SmartTarget安装。

使用Install SDL SmartTarget 2011 SP2.bat为内容交付安装SmartTarget SP1提供了3个选项:

  • Java Server Pages(JSP)
  • Active Server Pages(ASP.NET)
  • 复制文件(手册)

此外,它还允许您选择Webapp root pathDeployer config location和32对64位选项。

通过选择更新部署者的选项,它更新了以下内容(此特定设置适用于带有ASP.NET的Windows Server 2008 R2上的httpupload站点。)

  • %TRIDION_HOME%\ config \
  • 中的一些.xml
  • %TRIDION_HOME%\ lib \
  • 中的一些广告
  • dll,jar,卸载文件和.log文件

我可能不应该选择部署者更新,因为我使用的是httpupload。

由于Tridion内容传送错误(除了代码)通常涉及dll,jar或configs,因此通过执行以下操作(对于SmartTarget或任何类型的CD安装),有助于了解更改的内容。

  • 如果可以,请跳过安装程序(+1到Nuno的手动安装首选项)
  • 备份原始网站或在副本上应用安装程序
  • 使用差异工具检查差异
dir/l/b > files.txt提示中的

cmd是另一种快速而又脏的方法来解决CD广口,dll或配置问题。