Jetspeed 2
  1. Jetspeed 2
  2. JS2-1225

Synchronize JetspeedPortletFactory maintained caches on PortletRegistry changes

    Details

      Description

      JetspeedPortletFactory maintains several (small) internal caches which currently are only cleared/reset on deregistration of an portlet application.
      For portlet (definition) scoped caches like their ResourceBundle or the PortletConfig these needs to be flushed or synchronized when portlet definition changes are processed in the PortletRegistry.

        Activity

        Hide
        Ate Douma added a comment -

        JetspeedPortletFactory has been extended to implement RegistryEventListener and it will synchronize (and/or flush) its internal portlet caches on PortletRegistry changes.
        To enable this feature, the following new Spring assembly configuration needs to be added for existing Jetspeed 2.2.2-SNAPSHOT based portals:

        <!-- register JetspeedPortletFactory as RegistryEventLister on the PortletRegistry -->
        <bean id="registerPortletFactoryPortletRegistyEventListener" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <meta key="j2:cat" value="default or registry" />
        <property name="targetObject"><ref bean="portletRegistryImpl"/></property>
        <property name="targetMethod"><value>addRegistryListener</value></property>
        <property name="arguments">
        <list><ref bean="portletFactory"/></list>
        </property>
        </bean>

        The above configuration is already added to the default Spring assembly in registry.xml

        Show
        Ate Douma added a comment - JetspeedPortletFactory has been extended to implement RegistryEventListener and it will synchronize (and/or flush) its internal portlet caches on PortletRegistry changes. To enable this feature, the following new Spring assembly configuration needs to be added for existing Jetspeed 2.2.2-SNAPSHOT based portals: <!-- register JetspeedPortletFactory as RegistryEventLister on the PortletRegistry --> <bean id="registerPortletFactoryPortletRegistyEventListener" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <meta key="j2:cat" value="default or registry" /> <property name="targetObject"><ref bean="portletRegistryImpl"/></property> <property name="targetMethod"><value>addRegistryListener</value></property> <property name="arguments"> <list><ref bean="portletFactory"/></list> </property> </bean> The above configuration is already added to the default Spring assembly in registry.xml

          People

          • Assignee:
            Ate Douma
            Reporter:
            Ate Douma
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development