[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-3699) Slow hot deployment - Seam scans and builds component tree each time to check for hot deploy changes

Dan Allen (JIRA) jira-events at lists.jboss.org
Tue Nov 18 05:20:38 EST 2008

    [ https://jira.jboss.org/jira/browse/JBSEAM-3699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12438698#action_12438698 ] 

Dan Allen commented on JBSEAM-3699:

I did major cleanups in the process of fixing this issue. The good news is, hot deployment is no longer negatively affecting the performance of the application (though you still don't want to be using it in production). For an application with ~300 hot deployable components and ~600 web resources, a request having no source code updates went from 2s to 0.07s. A redeployment dropped from 13s to 4.5s.

Here's what got fixed:

- warTimestamp wasn't being set, so the WarRootDeploymentStrategy scan (for .page.xml files) was happening on every request

- DotPageDotXmlDeploymentHandler was being used in HotDeploymentStrategy, but it only belongs in WarRootDeploymentStrategy; this caused unnecessary processing for each scanned file

- only update the timestamp of the scan if the file is actually handled by the scanner (preventing redeployment when an unrelated file changes, such as .xhtml)

- add excludedDirectories to Scanner#scanDirectories to avoid decending into select directories; this speeds up the scanning of the WAR root tremendously

- set of hot deployable component names where not being cleared before installing the news ones

- introduce a wrapper strategy (actually one for HotDeploymentStrategy and one for WarRootDeploymentStrategy) that run a scanner that only checks the timestamp and does not other processing; that is equivalent to the simple timestamp check from Seam 2.0 except that it is sensitive to the filtering the strategy's deployment handlers provide

- the org.jboss.seam.hot.hotDeployFilter should be configured with a urlPattern that matches the JSF servlet! I need to update the docs, but for now I added this to seam-gen projects for reference

- did some general refactoring around the init and redeploy routines to make small optimizations here and there

> Slow hot deployment - Seam scans and builds component tree each time to check for hot deploy changes
> ----------------------------------------------------------------------------------------------------
>                 Key: JBSEAM-3699
>                 URL: https://jira.jboss.org/jira/browse/JBSEAM-3699
>             Project: Seam
>          Issue Type: Bug
>          Components: Core
>            Reporter: Pete Muir
>            Assignee: Dan Allen
>            Priority: Blocker
>             Fix For: 2.1.1.CR1

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the seam-issues mailing list