Какие кэши использует Alfresco и как правильно их чистить?

После нескольких экспериментов с бизнес-процессами я заметил, что старые определения бизнес-процессов где-то кэшируются.

Например, я разработал какой-то бизнес-процесс, а затем установил с ним AMP-файл. Я работал с ним, а потом решил внести некоторые изменения.

Для этого я снова собрал AMP-файл и установил его:

[bykovan@docflow alfresco-community]$ sudo java -jar bin/alfresco-mmt.jar uninstall some-module-repo tomcat/webapps/alfresco.war
...
[bykovan@docflow alfresco-community]$ sudo java -jar bin/alfresco-mmt.jar install amps/some-module-repo-1.0-SNAPSHOT.amp tomcat/webapps/alfresco.war
...

Но я не вижу своих изменений после развертывания! Чтобы изменения вступили в силу, мне нужно проделать довольно много дополнительной работы.

Последовательность действий:

1 Выключение Томкэт

[bykovan@docflow alfresco-community]$ sudo ./alfresco.sh stop

2 Повторно создайте базу данных alfresco

[bykovan@docflow alfresco-community]$ sudo -i -u postgres
[postgres@docflow ~]$ psql
psql (9.5.5)
postgres=#
postgres=# drop database alfresco;
...
postgres=# create database alfresco;
...
postgres=# alter database alfresco owner to alfresco;
...
postgres=# \q
[postgres@docflow ~]$ exit

3 Удалите все из alf_data

[bykovan@docflow alf_data]$ sudo rm -r *

4 Удалите папки alfresco и share

[bykovan@docflow alfresco-community]$ sudo rm -r alfresco
[bykovan@docflow alfresco-community]$ sudo rm -r share

5 Запустите Томкэт

[bykovan@docflow alfresco-community]$ sudo ./alfresco.sh start

6 Дождитесь инициализации базы данных...

7 Установите пароль администратора

SELECT 
    anp1.node_id, // paste to the update statement
    anp1.qname_id, // paste to the update statement
    anp1.string_value 
FROM alf_node_properties anp1 
    INNER JOIN alf_qname aq1 ON aq1.id = anp1.qname_id 
    INNER JOIN alf_node_properties anp2 ON anp2.node_id = anp1.node_id 
    INNER JOIN alf_qname aq2 ON aq2.id = anp2.qname_id 

WHERE aq1.local_name = 'password'  
    AND aq2.local_name  = 'username' 
    AND anp2.string_value = 'admin';


UPDATE 
    alf_node_properties 
SET 
    string_value='209c6174da490caeb422f3fa5a7ae634' 
WHERE node_id=... and qname_id=...;

(где '209c6174da490caeb422f3fa5a7ae634' — строка 'admin' в кодировке NTLM)

8 Перезапустите Томкэт

9 Войдите как Admin с паролем admin, добавьте пользователей и т.д...

Какие кэши использует Alfresco и как правильно их чистить?

Я использую следующую конфигурацию:

Alfresco Share v5.2.d (r134641-b15, Aikau 1.0.101.3, Spring Surf 5.2.d, Spring WebScripts 6.13, Freemarker 2.3.20-alfresco с исправлениями, Rhino 1.7R4-alfresco с исправлениями, Yui 2.9.0-alfresco -20141223)

Alfresco Community v5.2.0 (r134428-b13) схема 10005


person Community    schedule 16.02.2017    source источник


Ответы (2)


Вы можете найти временные файлы в этом месте

<<alfresco-community>>\tomcat\temp

а файлы хранятся в alf_data

<<alfresco-community>>\alf_data
person vikash    schedule 16.02.2017
comment
blog.dbi-services.com/alfresco-cleanup-your-dev -environment перейдите по этой ссылке, чтобы получить правильное представление. - person vikash; 16.02.2017

Аксель Фауст дал исчерпывающий ответ:

Какие кеши использует Alfresco и как правильно их чистить?

"Все кэши, которые использует Alfresco, очищаются при перезапуске Alfresco... Как правило, вам НИКОГДА не нужно работать с базой данных напрямую. Это настоятельно не рекомендуется и никоим образом не поддерживается Alfresco."

Это решило мою проблему.

person Community    schedule 17.02.2017