Jetspeed 2
  1. Jetspeed 2
  2. JS2-190

Changing the portlet.xml in a deployed portlet/webapp does not change Jetspeed.

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-dev/cvs, 2.0-M1, 2.0-M2
    • Fix Version/s: 2.1-dev, 2.1
    • Component/s: Deployment
    • Labels:
      None

      Description

      Changing the portlet.xml in a deployed portlet/webapp does not change Jetspeed. We need a way for jetspeed to redploy/register id the portlet.xml changes.

        Activity

        Hide
        Ate Douma added a comment -

        Additional clarification:
        Changing the portlet.xml (or jetspeed-portlet.xml) will only trigger reloading the registry, not a full application reload.
        Now, if you change the web.xml, the usual behavior of web servers like Tomcat will result in a reload of the application, but this will not be triggered by Jetspeed.

        Show
        Ate Douma added a comment - Additional clarification: Changing the portlet.xml (or jetspeed-portlet.xml) will only trigger reloading the registry, not a full application reload. Now, if you change the web.xml, the usual behavior of web servers like Tomcat will result in a reload of the application, but this will not be triggered by Jetspeed.
        Hide
        Ate Douma added a comment -

        Feature committed.
        Also working on Fusion

        Show
        Ate Douma added a comment - Feature committed. Also working on Fusion
        Hide
        Ate Douma added a comment -

        I've written a implementation for this using a background monitor thread, which will check web.xml, portlet.xml and (if available) jetspeed-portlet.xml for changes.
        If changes are found, the portlet application will be unregistered and subsequently re-registered.
        Furthermore, if the portlet application cannot be loaded because of errors in the xml definitions, the monitor thread will keep on checking for changes.
        Thus, when the errors are corrected, the portlet application will automatically be registered (again).

        The implementation is contained within the PortletApplicationManager which now has a new property, descriptorChangeMonitorInterval, through which you can
        configure the interval (in seconds) for the monitor to check for changes. The default interval is 10 seconds, but you can disable the monitor all together by
        specifying a value <= 0.

        As the PortletApplicationManager needs to startup the monitor after it is created, it now requires the init-method "start" (as well as the destroy-method "stop") to be defined in the deployment.xml assembly configuration.
        Warning: This is a new requirement. Failing to do so will prevent portlet applications being registered !!!

        The updated deployment.xml contains a commented out example of setting this new descriptorChangeMonitorInterval property, but as already said: by default it is
        set to 10 seconds so the monitor is now also active by default.

        Show
        Ate Douma added a comment - I've written a implementation for this using a background monitor thread, which will check web.xml, portlet.xml and (if available) jetspeed-portlet.xml for changes. If changes are found, the portlet application will be unregistered and subsequently re-registered. Furthermore, if the portlet application cannot be loaded because of errors in the xml definitions, the monitor thread will keep on checking for changes. Thus, when the errors are corrected, the portlet application will automatically be registered (again). The implementation is contained within the PortletApplicationManager which now has a new property, descriptorChangeMonitorInterval, through which you can configure the interval (in seconds) for the monitor to check for changes. The default interval is 10 seconds, but you can disable the monitor all together by specifying a value <= 0. As the PortletApplicationManager needs to startup the monitor after it is created, it now requires the init-method "start" (as well as the destroy-method "stop") to be defined in the deployment.xml assembly configuration. Warning: This is a new requirement . Failing to do so will prevent portlet applications being registered !!! The updated deployment.xml contains a commented out example of setting this new descriptorChangeMonitorInterval property, but as already said: by default it is set to 10 seconds so the monitor is now also active by default.
        Hide
        Ji?í Hanu? added a comment -

        I mean it is important feature. We can't use jetspeed for portlet app development without this feature.

        When I change deployment descriptor (which is not a rare case in development), I have to rename the application to be able to deploy it, because redeployment doesn't work due this bug.

        btw, I'm going to check it and maybe provide a fix:] do you have any idea where to begin? i'm new in jetspeed dev.

        Show
        Ji?í Hanu? added a comment - I mean it is important feature. We can't use jetspeed for portlet app development without this feature. When I change deployment descriptor (which is not a rare case in development), I have to rename the application to be able to deploy it, because redeployment doesn't work due this bug. btw, I'm going to check it and maybe provide a fix:] do you have any idea where to begin? i'm new in jetspeed dev.
        Hide
        Ate Douma added a comment -

        Changed from Bug to Improvement.
        I agree this would be a nice feature but don't think it is a requirement.
        But, if you don't agree, just set it back to a Bug (and maybe provide a fix )

        Show
        Ate Douma added a comment - Changed from Bug to Improvement. I agree this would be a nice feature but don't think it is a requirement. But, if you don't agree, just set it back to a Bug (and maybe provide a fix )

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development