<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Control de concurrencia con behaviors in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192194#M145324</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Muchas gracias, Douglas. Esos métodos se aproximan mucho más a lo que necesito. Lo que pasa que al intentar usarlos, probándolo de varias formas, me da un error al levantar Alfresco. No debo estar usándolo bien.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Lo que estoy haciendo es:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; getPolicyComponent().bindPropertyBehaviour(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NodeServicePolicies.OnUpdatePropertiesPolicy.QNAME, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;QName.createQName("myModel1", "AAA"), &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.onUpdateProperties);&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Y por lo que veo en el log de error, está esperando una clase en lugar de "AAA", no una propiedad. ¿Puede que el onUpdateProperties no se puede emplear para propiedades concretas?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Quizás poniendo un ejemplo me pueda explicar mejor…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tengo una property AAA dentro del tipo X. Y la misma property AAA dentro de un tipo Y. Lo que necesito es que salte un behaviour cuando se ha modificado la property AAA del tipo Y. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Al método bindPropertyBehaviour le puedo pasar QNames, y el método onUpdateProperties que hay que sobreescribir recibe un NodeRef, un Map y otro Map.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;¿Es posible hacer lo que quiero? No encuentro la forma si es así… &lt;img id="smileysurprised" class="emoticon emoticon-smileysurprised" src="https://connect.hyland.com/i/smilies/16x16_smiley-surprised.png" alt="Smiley Surprised" title="Smiley Surprised" /&gt;\&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 07 Dec 2015 16:51:39 GMT</pubDate>
    <dc:creator>spilby</dc:creator>
    <dc:date>2015-12-07T16:51:39Z</dc:date>
    <item>
      <title>Control de concurrencia con behaviors</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192187#M145317</link>
      <description>Ya estoy aquí con mis preguntas raras. &lt;IMG id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://migration33.stage.lithium.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;Me gustaría implementar en Java un behavior. Hasta ahora, una vez creado un modo y terminada la transacción, llamaba a un método que actualizaba una property en todos los nodos padre hasta la raíz (un contador concretamente). Pero debido al elevado uso, esta</description>
      <pubDate>Wed, 02 Dec 2015 18:57:05 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192187#M145317</guid>
      <dc:creator>spilby</dc:creator>
      <dc:date>2015-12-02T18:57:05Z</dc:date>
    </item>
    <item>
      <title>Re: Control de concurrencia con behaviors</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192188#M145318</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Aplica esta técnica: &lt;/SPAN&gt;&lt;A href="https://angelborroy.wordpress.com/2015/05/21/alfresco-implementando-el-behavior-de-borrado/" rel="nofollow noopener noreferrer"&gt;https://angelborroy.wordpress.com/2015/05/21/alfresco-implementando-el-behavior-de-borrado/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Esperas a que termine la transacción actual para realizar la acción que involucra a nodos modificados en la transacción actual.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Dec 2015 19:34:44 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192188#M145318</guid>
      <dc:creator>angelborroy</dc:creator>
      <dc:date>2015-12-02T19:34:44Z</dc:date>
    </item>
    <item>
      <title>Re: Control de concurrencia con behaviors</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192189#M145319</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ah, genial Angel. La usaré entonces. Muchas gracias! &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Dec 2015 09:27:52 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192189#M145319</guid>
      <dc:creator>spilby</dc:creator>
      <dc:date>2015-12-03T09:27:52Z</dc:date>
    </item>
    <item>
      <title>Re: Control de concurrencia con behaviors</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192190#M145320</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Una pregunta al respecto… ¿Hay alguna manera de crear behaviours para propiedades específicas? Que se dispare cuando se hace un update de una propiedad X. Lo único que encuentro son updates en las propiedades de un nodo (OnUpdatePropertiesPolicy), pero yo necesito saber cuando se ha modificado una propiedad en concreto. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;O a las malas, usando el OnUpdatePropertiesPolicy si no hay otra opción, no veo forma de saber si la propiedad X ha cambiado de valor. &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Dec 2015 13:15:13 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192190#M145320</guid>
      <dc:creator>spilby</dc:creator>
      <dc:date>2015-12-07T13:15:13Z</dc:date>
    </item>
    <item>
      <title>Re: Control de concurrencia con behaviors</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192191#M145321</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hey Spilby.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm going to answer in English.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can use this method in order to determine what has changed:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;private Set&amp;lt;QName&amp;gt; determineChangedProps(Map&amp;lt;QName, Serializable&amp;gt; oldProps, Map&amp;lt;QName, Serializable&amp;gt; newProps) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set&amp;lt;QName&amp;gt; result = new HashSet&amp;lt;QName&amp;gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (QName qn : oldProps.keySet()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (newProps.get(qn) == null ||&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newProps.get(qn).equals(oldProps.get(qn)) == false) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result.add(qn);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (QName qn : newProps.keySet()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (oldProps.get(qn) == null) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result.add(qn);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return result;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And then use it as follow:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt; public void onUpdateProperties(NodeRef nodeRef, Map&amp;lt;QName, Serializable&amp;gt; before, Map&amp;lt;QName, Serializable&amp;gt; after) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nodeService.exists(nodeRef)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set&amp;lt;QName&amp;gt; changedProps = determineChangedProps(before, after);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (changedProps.contains(YourModel.PROP_YOUR_CUSTOM_PROPERTY_QNAME)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // DO WHATEVER YOU WANT HERE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Dec 2015 13:36:03 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192191#M145321</guid>
      <dc:creator>douglascrp</dc:creator>
      <dc:date>2015-12-07T13:36:03Z</dc:date>
    </item>
    <item>
      <title>Re: Control de concurrencia con behaviors</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192192#M145322</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Gracias, Douglas. Pero busco algo más directo, que no requiera hacer un bucle, ya que el webscript se usará mucho, hay peticiones cada pocos segundos, y si he de recorrer para cada nodo sus propiedades así…&amp;nbsp; Además que al behaviour no podría enviar las propiedades antes de haber sido modificadas. Pero gracias por la idea igualmente.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;¿Hay alguna otra forma? Una especie de onUpdate de una propiedad determinada.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Dec 2015 13:53:40 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192192#M145322</guid>
      <dc:creator>spilby</dc:creator>
      <dc:date>2015-12-07T13:53:40Z</dc:date>
    </item>
    <item>
      <title>Re: Control de concurrencia con behaviors</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192193#M145323</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Spilby, I think you can do that.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you look at the PolicyComponente, there are methods for that:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;/**&lt;BR /&gt; * Register a Property-level Policy&lt;BR /&gt; * &lt;BR /&gt; * @param &amp;lt;P&amp;gt;&amp;nbsp; the policy interface&amp;nbsp; &lt;BR /&gt; * @param policy&amp;nbsp; the policy interface class&lt;BR /&gt; * @return&amp;nbsp; A delegate for the property-level policy (typed by the policy interface)&lt;BR /&gt; */&lt;BR /&gt;public &amp;lt;P extends PropertyPolicy&amp;gt; PropertyPolicyDelegate&amp;lt;P&amp;gt; registerPropertyPolicy(Class&amp;lt;P&amp;gt; policy);&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;/**&lt;BR /&gt; * Bind a Service specific behaviour to a Property-level Policy&lt;BR /&gt; * &lt;BR /&gt; * @param policy&amp;nbsp; the fully qualified policy name&lt;BR /&gt; * @param service&amp;nbsp; the binding service&lt;BR /&gt; * @param behaviour&amp;nbsp; the behaviour&lt;BR /&gt; * @return&amp;nbsp; the registered behaviour definition&lt;BR /&gt; */&lt;BR /&gt;public BehaviourDefinition&amp;lt;ServiceBehaviourBinding&amp;gt; bindPropertyBehaviour(QName policy, Object service, Behaviour behaviour);&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Dec 2015 15:56:29 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192193#M145323</guid>
      <dc:creator>douglascrp</dc:creator>
      <dc:date>2015-12-07T15:56:29Z</dc:date>
    </item>
    <item>
      <title>Re: Control de concurrencia con behaviors</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192194#M145324</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Muchas gracias, Douglas. Esos métodos se aproximan mucho más a lo que necesito. Lo que pasa que al intentar usarlos, probándolo de varias formas, me da un error al levantar Alfresco. No debo estar usándolo bien.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Lo que estoy haciendo es:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; getPolicyComponent().bindPropertyBehaviour(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NodeServicePolicies.OnUpdatePropertiesPolicy.QNAME, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;QName.createQName("myModel1", "AAA"), &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.onUpdateProperties);&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Y por lo que veo en el log de error, está esperando una clase en lugar de "AAA", no una propiedad. ¿Puede que el onUpdateProperties no se puede emplear para propiedades concretas?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Quizás poniendo un ejemplo me pueda explicar mejor…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tengo una property AAA dentro del tipo X. Y la misma property AAA dentro de un tipo Y. Lo que necesito es que salte un behaviour cuando se ha modificado la property AAA del tipo Y. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Al método bindPropertyBehaviour le puedo pasar QNames, y el método onUpdateProperties que hay que sobreescribir recibe un NodeRef, un Map y otro Map.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;¿Es posible hacer lo que quiero? No encuentro la forma si es así… &lt;img id="smileysurprised" class="emoticon emoticon-smileysurprised" src="https://connect.hyland.com/i/smilies/16x16_smiley-surprised.png" alt="Smiley Surprised" title="Smiley Surprised" /&gt;\&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Dec 2015 16:51:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192194#M145324</guid>
      <dc:creator>spilby</dc:creator>
      <dc:date>2015-12-07T16:51:39Z</dc:date>
    </item>
    <item>
      <title>Re: Control de concurrencia con behaviors</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192195#M145325</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You can find some really good sample code in alfresco's source code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://github.com/Alfresco/community-edition/blob/master/projects/repository/source/test-java/org/alfresco/repo/policy/PolicyComponentTest.java" rel="nofollow noopener noreferrer"&gt;https://github.com/Alfresco/community-edition/blob/master/projects/repository/source/test-java/org/alfresco/repo/policy/PolicyComponentTest.java&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Dec 2015 18:44:07 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192195#M145325</guid>
      <dc:creator>douglascrp</dc:creator>
      <dc:date>2015-12-07T18:44:07Z</dc:date>
    </item>
    <item>
      <title>Re: Control de concurrencia con behaviors</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192196#M145326</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Oks, thanks Docuglas. Miraré el link con los ejemplos a ver si encuentro el problema.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Dec 2015 13:41:53 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/control-de-concurrencia-con-behaviors/m-p/192196#M145326</guid>
      <dc:creator>spilby</dc:creator>
      <dc:date>2015-12-09T13:41:53Z</dc:date>
    </item>
  </channel>
</rss>

