- Change the way the CMIS implementation interacts with authentication, logging and transactions
by constructing a service layered in three interceptors:
<property name="cmisTransactions" ref="CMISService_Transactions" />
<property name="cmisExceptions" ref="CMISService_Exceptions" />
<property name="cmisControl" ref="CMISService_Control" />
- CMISService_Transactions:
Retrying transactions are initiated for all operations and we no longer attempt to hold
transactions open across method calls. This optimization is secondary to having full retrying
behaviour, without which the server could throw avoidable exceptions in concurrent environments.
- CMISService_Exceptions:
Performs translation from typical repo exceptions into CMIS exceptions
- CMISService_Control:
Provides details logging of inbound authentication states, arguments, exceptions and return values
To get logging without method arguments (can be verbose):
log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=DEBUG
To include method call arguments:
log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=TRACE
Logging will include details of inbound, method-call and outbound thread authentication credentials.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32331 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
32207: Fix ALF-11644: AVM cleanup jobs run when WCM is not installed
- Moved scheduled jobs to installable wcm-bootstrap-context.xml
- Also got rid of orphan reaper warnings when running in a cluster (not ALF-11720, but mentioned in it)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32330 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Struggled to get reproducible test in code
- If this doesn't fix the problem fully, then at least it'll push it up a level,
however the higher caches already have pessimistic removal of entries, so should be OK
- In the same way, this could fix ALF-11720: WCM: OrphanReaper contention throws error (3.4.x)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32329 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
* ActivityPostService checks incoming nodeRef values in JSON - they must at least work in a NodeRef constructor.
* FeedTaskProcessor ignores nodeRef values that cannot be used in a NodeRef constructor.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32321 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- The code did this:
return method.invoke(target.getThis(), target.getArguments());
rather than this:
return target.proceed();
- Services that used this are PublishingService, ChannelService, TransferService and
old CMIS dmServicesProxyCreator
- None of the above are adversely affected because the first 3 don't apply permissions
and the last one uses the interceptor in reverse order
- BUT: None of the aforementioned services will be auditable!
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32276 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
java.lang.NullPointerException
at org.alfresco.opencmis.mapping.ObjectTypeIdProperty.getValueInternal(ObjectTypeIdProperty.java:49)
at org.alfresco.opencmis.mapping.AbstractProperty.getValue(AbstractProperty.java:102)
at org.alfresco.opencmis.search.CmisFunctionEvaluationContext.getProperty(CmisFunctionEvaluationContext.java:215)
at org.alfresco.repo.search.impl.querymodel.impl.BasePropertyArgument.getValue(BasePropertyArgument.java:75)
at org.alfresco.repo.search.impl.querymodel.impl.functions.PropertyAccessor.getValue(PropertyAccessor.java:74)
at org.alfresco.opencmis.search.CMISResultSetRow.getValue(CMISResultSetRow.java:174)
at org.alfresco.opencmis.search.QueryTest.testBasicAllFolderColumns(QueryTest.java:3531)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32085 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
java.lang.NullPointerException
at org.alfresco.opencmis.mapping.AllowedChildObjectTypeIdsProperty.getValueInternal(AllowedChildObjectTypeIdsProperty.java:56)
at org.alfresco.opencmis.mapping.AbstractProperty.getValue(AbstractProperty.java:102)
at org.alfresco.opencmis.search.CmisFunctionEvaluationContext.getProperty(CmisFunctionEvaluationContext.java:215)
at org.alfresco.repo.search.impl.querymodel.impl.BasePropertyArgument.getValue(BasePropertyArgument.java:75)
at org.alfresco.repo.search.impl.querymodel.impl.functions.PropertyAccessor.getValue(PropertyAccessor.java:74)
at org.alfresco.opencmis.search.CMISResultSetRow.getValue(CMISResultSetRow.java:174)
at org.alfresco.opencmis.search.QueryTest.testBasicAllFolderColumns(QueryTest.java:3531)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32073 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261