- 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