Hot Deployment of minor changes terminates the session and triggers full app redeployment
-----------------------------------------------------------------------------------------
Key: JBSEAM-3435
URL:
https://jira.jboss.org/jira/browse/JBSEAM-3435
Project: Seam
Issue Type: Bug
Components: Core, Hot Deploy, Security
Affects Versions: 2.1.0.BETA1
Environment: Windows XP SP2
JDK 1.5.0_16
JBoss AS 4.2.2.GA
Eclipse JEE Europa Winter (3.3.2)
JBoss Tools 2.1.2.GA
JBoss Seam 2.1.0-SNAPSHOT # 309 + Revision 9013 for Initialization.java
Reporter: Luis Tama
Note: This bug happens (at least) when using an extended Identity component, which is now
correctly deployed from /WEB-INF/dev at application initialization, as hot deployment was
fixed in JBSEAM-3404. See that issue for more details, and revision 9013 for
http://fisheye.jboss.org/browse/Seam/trunk/src/main/org/jboss/seam/init/I....
To reproduce this bug, create a completely new project called "siplacad2" with
JBoss Tools 2.1.2.GA (New Seam Web Project). It's a WAR project.
Add my extended Identity component, drop it in
/src/action/org/ostion/siplacad2/session/Identity.java, in the same package as
Authenticator.java, whose compiled class will be placed in /WEB-INF/dev for hot
deployment. It includes a homePage property, and a renderHomePage method, which is called
from home.page.xml. I ommited the code for dynamic assignment of the homePage depending on
the user role. The getter is enough for the example.
Also, I create /WebContent/home.page.xml, which will be responsible for redirecting the
user to the real home page, after login, when accessing /home.xhtml.
When making any little change in my xhtml pages, the whole app gets redeployed (or at
least some components). AFAIK, Seam redeploys the whole app only when the session is quite
dirty or the app is using old code. But that should not be the case with every xhtml
page.
Try this and you'll see:
- Deploy the app. My components get loaded fine.
- Navigate to
http://localhost:8080/siplacad2/. We get this log:
07:03:19,790 INFO [Identity] Rendering Home Page: /home.xhtml
- Login with any user and password. Everything fine up to here. We get this log:
07:04:01,555 INFO [Authenticator] authenticating luiggitama
07:04:01,602 INFO [Identity] Rendering Home Page: /home.xhtml
- Make any small change in home.xhtml, e.g. add any word in the description of "This
empty shell application includes:", maybe "...includes a lot of things:".
Wait 5+ seconds until the changes are automatically published/redeployed to JBoss AS, and
refresh the page in the browser. The problem is that my components get redeployed and the
session is invalidated, so I must login again. This is the log:
07:08:32,790 INFO [Initialization] redeploying
07:08:32,899 INFO [Initialization] Installing components...
07:08:32,899 INFO [Component] Component: authenticator, scope: EVENT, type: JAVA_BEAN,
class: org.ostion.siplacad2.session.Authenticator
07:08:32,899 INFO [Component] Component: org.jboss.seam.security.identity, scope: SESSION,
type: JAVA_BEAN, class: org.ostion.siplacad2.session.Identity
07:08:32,899 INFO [Initialization] done redeploying
07:08:32,915 INFO [Identity] Rendering Home Page: /home.xhtml
This happens even when making the same kind of small changes to any other page, say
"test.xhtml" which could be a copy of home.xhtml. I do not even need to be
navigating to that recently changed page to get the problem. So the problem is not in the
home.page.xml. I think it is a problem with component hot (re)deployment strategy or
deployment and redeployment methods in initialization ...
So, with this new bug, my app or at least my components get redeployed and the session
gets invalidated, so I lose a lot of time in the development process, having to login
every time I make a little change to my pages. BTW, testing in my real project depends on
a real session working, so turning off security is not an option.
Thanks in advance...
--
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