cm:countable aspect 在露天如何工作?
Posted
技术标签:
【中文标题】cm:countable aspect 在露天如何工作?【英文标题】:How does cm:countable aspect works in alfresco? 【发布时间】:2016-12-10 13:42:16 【问题描述】:我已添加:
<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"))
返回 null。
nodeService.getProperties(nodeRef)
返回所有属性,但不存在 countable
键。
我在 alfresco 资源中进行了搜索,发现 CounterIncrementActionExecuter
扩展了 ActionExecuterAbstractBase
并定义了 executeImpl
,但是:
executeImpl
在创建新列表项时不会被调用。
ActionExecuterAbstractBase#isApplicableType
也没有被调用。
ActionExecuterAbstractBase#isApplicableType
“查看”applicableTypes
变量,该变量在CounterIncrementActionExecuter
中明确不填充。因此,尚不清楚应该如何填充以及何时填充。
所以问题是 - cm:countable
aspect 在户外实际上是如何工作的?
UDPATE
正如我所见,计数器在 java 代码中递增。那么将它与一个数据库和多个连接到 db 的 alfresco 实例一起使用是否安全?
【问题讨论】:
看看这对你有没有帮助.. ***.com/questions/38843229/… 源代码看起来像CounterIncrementActionExecuter
。我认为最好使用内置功能。
【参考方案1】:
Alfresco 管理员通常使用此方面。当节点被服务命中时,它会自动增加一个数字(整数)属性的值。这通常仅由 Alfresco 管理员使用
cm:countable aspect 具有名为 cm:counter 的属性,用于跟踪当前计数。
所以,你获取属性的代码应该是。
nodeService.getProperty(nodeRef, QName.createQName("http://www.alfresco.org/model/content/1.0", "counter"))
现在它基于与该方面相关的策略工作。因此,每当调用节点时,计数器就会增加。
【讨论】:
以上是关于cm:countable aspect 在露天如何工作?的主要内容,如果未能解决你的问题,请参考以下文章