我有Alfresco社区5.2并且已经构建了一个自定义内容存储库(基于他们对{{3}}所做的事情)。
使用该自定义商店,我可以使用share或CMIS创建文档,没问题。但是,当我使用office创建文档时,它不起作用。
Word可以与repo连接,但是当我尝试保存操作失败时。
我已检查访问日志并获取以下内容:
[31/Aug/2017:08:25:15 +0000] "OPTIONS /alfresco/aos/Shared/ HTTP/1.0" 200 -
[31/Aug/2017:08:25:16 +0000] "HEAD /alfresco/aos/Shared/3y24.docx HTTP/1.0" 404 -
[31/Aug/2017:08:25:17 +0000] "OPTIONS /alfresco/aos/Shared/3y24.docx HTTP/1.0" 200 -
[31/Aug/2017:08:25:18 +0000] "PROPFIND /alfresco/aos/Shared/3y24.docx HTTP/1.0" 404 22
[31/Aug/2017:08:25:18 +0000] "OPTIONS /alfresco/aos/Shared/3y24.docx HTTP/1.0" 200 -
[31/Aug/2017:08:25:19 +0000] "HEAD /alfresco/aos/Shared/3y24.docx HTTP/1.0" 401 -
[31/Aug/2017:08:25:19 +0000] "HEAD /alfresco/aos/Shared/3y24.docx HTTP/1.0" 404 -
[31/Aug/2017:08:25:19 +0000] "PUT /alfresco/aos/Shared/3y24.docx HTTP/1.0" 201 -
[31/Aug/2017:08:25:20 +0000] "LOCK /alfresco/aos/Shared/3y24.docx HTTP/1.0" 200 533
[31/Aug/2017:08:25:22 +0000] "PUT /alfresco/aos/Shared/3y24.docx HTTP/1.0" 409 999
alfresco.log,日志记录级别正确提升,给出了以下内容:
2017-08-29 10:36:25,310 DEBUG [org.alfresco.repo.content.AbstractContentStore] [http-apr-8080-exec-1]
Fetched new writer:
Store: mycomponent.cmis.database.DbContentStore@27c9fb78
Context: NodeContentContext[ contentUrl=null, existing=false, nodeRef=workspace://SpacesStore/4fe8f573-b19e-4231-9485-ca04c6ca6d47, propertyQName={http://www.alfresco.org/model/content/1.0}content]
Writer: ContentAccessor[ contentUrl=db://301f9a77-51a2-4986-896d-e4f7f6e63995.bin, mimetype=null, size=0, encoding=UTF-8, locale=en_US]
2017-08-29 10:36:25,310 DEBUG [mycomponent.cmis.database.LoggingContentStore] [http-apr-8080-exec-1] EXITING getWriter =ContentAccessor[ contentUrl=db://301f9a77-51a2-4986-896d-e4f7f6e63995.bin, mimetype=null, size=0, encoding=UTF-8, locale=en_US]
2017-08-29 10:36:25,311 DEBUG [mycomponent.cmis.database.DbContentWriter] [http-apr-8080-exec-1] Creating temp file [uuid=b74b6d85-1842-4859-a2df-b2f8377ff421]
2017-08-29 10:36:25,312 DEBUG [mycomponent.cmis.database.DbContentWriter] [http-apr-8080-exec-1] Returning write channel to temp file [uuid=b74b6d85-1842-4859-a2df-b2f8377ff421]
2017-08-29 10:36:25,312 DEBUG [org.alfresco.repo.content.AbstractContentWriter] [http-apr-8080-exec-1]
Created callback byte channel:
original: sun.nio.ch.FileChannelImpl@19f2447e
new: org.alfresco.repo.content.AbstractContentAccessor$CallbackFileChannel@8907420
2017-08-29 10:36:25,312 DEBUG [org.alfresco.repo.content.AbstractContentWriter] [http-apr-8080-exec-1]
Opened channel onto content:
content: ContentAccessor[ contentUrl=db://301f9a77-51a2-4986-896d-e4f7f6e63995.bin, mimetype=null, size=0, encoding=UTF-8, locale=en_US]
channel: org.alfresco.repo.content.AbstractContentAccessor$CallbackFileChannel@8907420
2017-08-29 10:36:25,313 ERROR [org.alfresco.repo] [http-apr-8080-exec-1] Could not find db://301f9a77-51a2-4986-896d-e4f7f6e63995.bin in the repo
2017-08-29 10:36:25,313 DEBUG [org.alfresco.repo.content.AbstractContentWriter] [http-apr-8080-exec-1]
Writer spawned new reader:
writer: ContentAccessor[ contentUrl=db://301f9a77-51a2-4986-896d-e4f7f6e63995.bin, mimetype=null, size=0, encoding=UTF-8, locale=en_US]
new reader: ContentAccessor[ contentUrl=db://301f9a77-51a2-4986-896d-e4f7f6e63995.bin, mimetype=null, size=0, encoding=UTF-8, locale=en_US]
2017-08-29 10:36:25,314 DEBUG [org.alfresco.repo.content.cleanup.EagerContentStoreCleaner] [http-apr-8080-exec-1] Post-commit deletion of old content URLs:
我知道我没有提供代码,但我的问题如下: 此EagerContentStoreCleaner正在标记要删除的URL。我不知道为什么。
我的自定义组件创建一个临时文件,然后使用org.alfresco.service.cmr.repository.ContentStreamListener(如https://github.com/Alfresco/alfresco-sdk-samples/tree/alfresco-51/all-in-one/custom-content-store-repo中所示)等待Alfresco通知该文件已被填充,但是该方法永远不会被调用。
我对如何对此进行故障排除感到茫然,监听器没有被调用,文件永远不会被写入,所以当然,它永远不会被发现。我不知道在哪里看。 vanilla Filesystem Content提供程序不会发生这种情况。