Я добавил:
<mandatory-aspects>
<aspect>cm:countable</aspect>
</mandatory-aspects>
Чтобы перечислить определение, поэтому каждый элемент должен иметь поле «приращение». Но при создании элементов списка ничего не произошло. Я проверил следующий код:
nodeService.getAspects(nodeRef)
вернуть все определенные аспекты для элемента,cm:countable
представлены в этом списке.nodeService.getProperty(nodeRef, QName.createQName("http://www.alfresco.org/model/content/1.0", "countable"))
вернуть ноль.nodeService.getProperties(nodeRef)
возвращает все свойства, но ключcountable
отсутствует.
Я провел поиск в источниках alfresco и нашел, что CounterIncrementActionExecuter
расширяет ActionExecuterAbstractBase
и определяет executeImpl
, но:
executeImpl
не вызывается при создании нового элемента списка.ActionExecuterAbstractBase#isApplicableType
также не вызывается.ActionExecuterAbstractBase#isApplicableType
"просматривает" переменнуюapplicableTypes
, которая не явно заполнена вCounterIncrementActionExecuter
. Так что неясно, как он должен быть заполнен и когда.
Итак, вопрос в том, как на самом деле работает аспект cm:countable
в alfresco?
ОБНОВИТЬ
Как я вижу, счетчик увеличивается в коде Java. Так безопасно ли использовать его с одной базой данных и несколькими экземплярами alfresco, подключенными к db?
CounterIncrementActionExecuter
. Я думаю, что лучше использовать встроенный функционал. - person Cherry   schedule 10.12.2016