【发布时间】:2019-09-28 19:33:00
【问题描述】:
在对业务流程进行了几次实验后,我注意到业务流程的旧定义某处被缓存了。
例如,我开发了一些业务流程,然后安装了 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 关闭 Tomcat
[bykovan@docflow alfresco-community]$ sudo ./alfresco.sh stop
2 重新创建露天数据库
[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 启动Tomcat
[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' 是NTLM 编码的字符串'admin')
8 重启Tomcat
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-patched, Rhino 1.7R4-alfresco-patched, Yui 2.9.0-alfresco-20141223)
Alfresco Community v5.2.0 (r134428-b13) 架构 10005
【问题讨论】: