Issue Details (XML | Word | Printable)

Key: JS2-190
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Ate Douma
Reporter: Scott T Weaver
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Jetspeed 2

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

Created: 14/Jan/05 12:45 AM   Updated: 24/May/06 10:13 PM
Return to search
Component/s: Deployment
Affects Version/s: 2.0-dev/cvs, 2.0-M1, 2.0-M2
Fix Version/s: 2.1-dev, 2.1

Time Tracking:
Not Specified

Resolution Date: 24/May/06 10:34 AM


 Description  « Hide
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.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Ate Douma added a comment - 02/Apr/05 12:42 AM
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 ;-))

Ate Douma made changes - 02/Apr/05 12:42 AM
Field Original Value New Value
Type Bug [ 1 ] Improvement [ 4 ]
Michael Lipp made changes - 31/Oct/05 09:25 PM
Environment
Fix Version/s 2.0-M2 [ 11015 ]
Ji?í Hanu? added a comment - 07/Nov/05 07:01 PM
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.

Repository Revision Date User Message
ASF #409058 Wed May 24 03:29:15 UTC 2006 ate JS2-190: Implementation of a background monitor for PortletApplication descriptor changes.
See http://issues.apache.org/jira/browse/JS2-190#action_12413055
Files Changed
MODIFY /portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java
MODIFY /portals/jetspeed-2/trunk/components/portal/src/java/org/apache/jetspeed/util/descriptor/PortletApplicationWar.java
MODIFY /portals/jetspeed-2/trunk/jetspeed-api/src/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManagement.java
MODIFY /portals/jetspeed-2/trunk/src/webapp/WEB-INF/assembly/deployment.xml
MODIFY /portals/jetspeed-2/trunk/commons/src/java/org/apache/jetspeed/container/JetspeedContainerServlet.java

Repository Revision Date User Message
ASF #409061 Wed May 24 03:33:22 UTC 2006 ate Fusion support for:
JS2-190: Implementation of a background monitor for PortletApplication descriptor changes.
See http://issues.apache.org/jira/browse/JS2-190#action_12413055
Files Changed
MODIFY /portals/jetspeed-1/trunk/webapp/WEB-INF/conf/assembly/deployment.xml

Ate Douma made changes - 24/May/06 10:02 AM
Assignee Scott T Weaver [ weaver ] Ate Douma [ adouma ]
Ate Douma added a comment - 24/May/06 10:12 AM
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.

Ate Douma added a comment - 24/May/06 10:34 AM
Feature committed.
Also working on Fusion ;)

Ate Douma made changes - 24/May/06 10:34 AM
Fix Version/s 2.0-FINAL [ 10940 ]
Resolution Fixed [ 1 ]
Fix Version/s 2.1 [ 12310617 ]
Status Open [ 1 ] Resolved [ 5 ]
Fix Version/s 2.1-dev [ 12310686 ]
Ate Douma added a comment - 24/May/06 10:13 PM
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.