[
https://jira.jboss.org/jira/browse/JBSEAM-3699?page=com.atlassian.jira.pl...
]
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