cancel
Showing results for 
Search instead for 
Did you mean: 

Transfert des fichiers dans contentStore.deleted (3.2r2)

dranakan
Champ on-the-rise
Champ on-the-rise
Hello,

J'aimerais que mes fichiers supprimés aillent dans le contentStore.deleted. J'ai constaté que le fileContentStoreCleanerJobDetail était commenté avec Alfresco 32r2… est-ce normal ? (dans scheduled-jobs-context.xml)

    <bean id="fileContentStoreCleanerJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
        <property name="jobClass">
            <value>org.alfresco.repo.content.cleanup.ContentStoreCleanupJob</value>
        </property>
        <property name="jobDataAsMap">
            <map>
                <entry key="contentStoreCleaner">
                    <ref bean="contentStoreCleaner" />
                </entry>
            </map>
        </property>
    </bean>
    <bean id="contentStoreCleanerTrigger" class="org.alfresco.util.CronTriggerBean">
        <property name="jobDetail">
            <ref bean="fileContentStoreCleanerJobDetail" />
        </property>
        <property name="scheduler">
            <ref bean="schedulerFactory" />
        </property>
        <property name="cronExpression">
            <value>0 0 4 * * ?</value>
        </property>
    </bean>

(d'après mes tests tout à l'air fonctionnel une fois avoir décommenté ceci. Mais comme ce job était commenté… je me dis que c'est pour une bonne raison…)

Autres infos : http://forums.alfresco.com/en/viewtopic.php?f=9&t=25897

Merci bien 🙂
7 REPLIES 7

rguinot
Confirmed Champ
Confirmed Champ
Ca me semble OK. N'oubliez pas qu'une fois dans contentstore.deleted, il y reste indéfiniment. c'est à vous de définir une politique de gestion de ce repertoire (archivage sur bande, suppression régulière via cron, ….)

dranakan
Champ on-the-rise
Champ on-the-rise
Alors donc, avoir commenté le fileContentStoreCleanerJobDetail n'était pas pour éviter de faire apparaître un bug mais pour une autre raison.

Merci bien 🙂

dranakan
Champ on-the-rise
Champ on-the-rise
scheduled-jobs-context.xml dans extension
A la place de décommenter dans le fichier /WEB-INF/classes/alfresco/scheduled-jobs-context.xml, puis-je le faire plutôt ajouter les lignes dans un de ces fichiers : Alfresco3/tomcat/shared/classes/alfresco/extension ? Puis-je créer un fichier scheduled-jobs-context-custom.xml avec uniquement les deux beans cités plus haut ?

Merci bien

jayjayecl
Confirmed Champ
Confirmed Champ
Presque !
Il faut que le nom de fichier se termine par "-context.xml"… donc plutôt scheduled-jobs-custom-context.xml (par exemple)

dranakan
Champ on-the-rise
Champ on-the-rise
Merci bien.

J'ai créer le fichier /opt/Alfresco/tomcat/shared/classes/alfresco/extension/scheduled-jobs-custom-context.xml

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
       <bean id="fileContentStoreCleanerJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
            <property name="jobClass">
                <value>org.alfresco.repo.content.cleanup.ContentStoreCleanupJob</value>
            </property>
            <property name="jobDataAsMap">
                <map>
                    <entry key="contentStoreCleaner">
                        <ref bean="contentStoreCleaner" />
                    </entry>
                </map>
            </property>
        </bean>
        <bean id="contentStoreCleanerTrigger" class="org.alfresco.util.CronTriggerBean">
            <property name="jobDetail">
                <ref bean="fileContentStoreCleanerJobDetail" />
            </property>
            <property name="scheduler">
                <ref bean="schedulerFactory" />
            </property>
            <property name="cronExpression">
                <value>0 0 4 * * ?</value>
            </property>
        </bean>
</beans>

Les fichiers s'effacent bien… Super.

Juste pour confirmation… Alfresco va prendre d'abord la configuration dans le fichier de base (/webapps/alfresco/WEB-INF/classes/…) puis lire celui-ci. Les informations du premier fichier qui ne sont pas ré-écrites dans ce second sont bien conservées, c'est juste ? Dans ce cas précis, on lit tout le premier fichier, puis on spécifie deux beans ?

jayjayecl
Confirmed Champ
Confirmed Champ
Oui, vous avez bien compris.
En fait, ici, c'est Spring qui prend la main pour charger le contexte d'application.
Concrêtement, Spring veut charger une liste de définitions de beans.
En lisant le fichier application-context.xml, vous aurez un aperçu de l'ordre de chargement des fichiers de contexte.
Ainsi, si par exemple vous avez 3 beans (bean_A id="A", bean_B id="B", bean_C id="C") dans scheduled-jobs-context.xml (dans WEB-INF/…) et 2 beans surchargés (bean_Abis id="A", bean_Bbis id="B") dans toto-custom-context.xml (dans (tomcat/shared/…), alors seront enregistrés les définitions suivantes : bean_Abis, bean_Bbis, bean_C

dranakan
Champ on-the-rise
Champ on-the-rise
Merci bien 🙂