在Alfresco 4.0中启动扩展

时间:2012-03-29 12:16:30

标签: alfresco

我想运行扩展程序 (“C:\露天\ Tomcat的\共享\类\露天\扩展\调度动作服务-context.xml中)

我已对其进行了一些更改,但是当我重新启动服务器时,我在日志文件中看不到它。

我是否需要别的东西来启动它。

编辑:

以下是我的预定行动服务的内容:

   <!--
Define the model factory used to generate object models suitable for use with freemarker templates. 
-->
<bean id="templateActionModelFactory" class="org.alfresco.repo.action.scheduled.FreeMarkerWithLuceneExtensionsModelFactory">
    <property name="serviceRegistry">
        <ref bean="ServiceRegistry"/>
    </property>
</bean>

   <!--
Execute the script /Company Home/Record Management/testscript.js
-->
<bean id="runScriptAction" class="org.alfresco.repo.action.scheduled.SimpleTemplateActionDefinition">
    <property name="actionName">
        <value>script</value>
    </property>
    <property name="parameterTemplates">
        <map>
            <entry>

                <key>
                    <value>script-ref</value>
                </key>
                <!-- Note that as of Alfresco 4.0, due to a  Spring upgrade, the FreeMarker ${foo} entries must be escaped --> 
                <value>\$\{selectSingleNode('workspace://SpacesStore', 'lucene', 'PATH:"/app:company_home/app:dictionary/app:scripts/cm:send_mail.js"' )\}</value>
            </entry>
        </map>
    </property>
    <property name="templateActionModelFactory">
        <ref bean="templateActionModelFactory"/>
    </property>
    <property name="dictionaryService">
        <ref bean="DictionaryService"/>
    </property>
    <property name="actionService">
        <ref bean="ActionService"/>
    </property>
    <property name="templateService">
        <ref bean="TemplateService"/>
    </property>
</bean>

<!--

每分钟运行一次脚本 - 选择未使用的单节点公司主页...      - &GT;                           UNTIL_FIRST_FAILURE                               忽视                                                                                             Lucene的                                                工作区:// SpacesStore                                            + @ ia \:fromDate:\ $ \ {luceneDateRange(现在,\“P10D \”)\} AND + PATH:“/ app:company_home / st:sites / cm:prova / cm:calendar // *”&lt; /值GT; - &GT;          +路径:“/ app:company_home / st:sites / cm:valdel / cm:calendar // *”AND + @ ia \:fromDate:[NOW TO MAX]

    </property>
    <property name="cronExpression"> 
        <value>0 * 8 * * ?</value>
    </property>
    <property name="jobName">
        <value>jobD</value>
    </property>
    <property name="jobGroup">
        <value>jobGroup</value>
    </property>
    <property name="triggerName">
        <value>triggerD</value>
    </property>
    <property name="triggerGroup">
        <value>triggerGroup</value>
    </property>
    <property name="scheduler">
        <ref bean="schedulerFactory"/>
    </property>
    <property name="actionService">
        <ref bean="ActionService"/>
    </property>
    <property name="templateActionModelFactory">
        <ref bean="templateActionModelFactory"/>
    </property>
    <property name="templateActionDefinition">
        <ref bean="runScriptAction"/> <!-- This is name of the action (bean) that gets run -->
    </property>
    <property name="transactionService">
        <ref bean="TransactionService"/>
    </property>
    <property name="runAsUser">
        <value>System</value>
    </property>
</bean>

当我检查STDOUT时,我发现了这个错误:

2012-03-30 11:00:00,230 ERROR [freemarker.runtime] [DefaultScheduler_Worker-8]模板处理错误:“未选择节点”

未选择节点

有问题的指示:

==&GT; $ {selectSingleNode('workspace:// SpacesStore','lucene','PATH:“/ app:company_home / app:dictionary / app:scripts / cm:send_mail.js”')} [在第1行第1列中串://固定]

程序员的Java回溯:

freemarker.template.TemplateModelException:未选择任何节点     在org.alfresco.repo.action.scheduled.FreeMarkerWithLuceneExtensionsModelFactory $ QueryForSingleNodeFunction.exec(FreeMarkerWithLuceneExtensionsModelFactory.java:180)

有人可以解释一下这个问题吗?我已经写了一个每8分钟运行一次的cron,但它没有工作

2 个答案:

答案 0 :(得分:1)

“运行扩展程序”并没有多大意义。当您启动Tomcat时,Alfresco Web应用程序将自动加载该Spring配置文件,因为它位于类路径上(假设您已正确设置了共享类加载器)并且它以“context.xml”结尾。如果您没有在日志文件中看到预期的内容,请检查log4j.properties以确保您具有记录器集。如果所有其他方法都失败了,请使用Eclipse之类的远程调试器,并在上下文文件引用的其中一个Java类中设置断点。

答案 1 :(得分:0)