HotDeployer gets IllegalStateExceptions during a non-hot deploy deploy of an app
--------------------------------------------------------------------------------
Key: GERONIMO-1200
URL: http://issues.apache.org/jira/browse/GERONIMO-1200
Project: Geronimo
Type: Bug
Components: deployment
Versions: 1.0
Environment: Win XP/1.4.2
Reporter: Kevan Miller
Priority: Minor
Fix For: 1.0
During a deploy of DayTrader, I get several (2 or 3) of the following warnings sent to STDOUT:
19:27:12,259 WARN [DirectoryHotDeployer] Hot deployer unable to determine whether kernel
is started
java.lang.IllegalStateException: Cannot retrieve the value for non-persistent attribute kernelFullyStarted
when GBeanInstance is DESTROYED
at org.apache.geronimo.gbean.runtime.GBeanInstance.getAttribute(GBeanInstance.java:668)
at org.apache.geronimo.kernel.basic.BasicKernel.getAttribute(BasicKernel.java:166)
at org.apache.geronimo.deployment.hot.DirectoryHotDeployer.isServerRunning(DirectoryHotDeployer.java:176)
at org.apache.geronimo.deployment.hot.DirectoryMonitor.run(DirectoryMonitor.java:141)
at java.lang.Thread.run(Thread.java:534)
The problem must be in HotDeployer.isServerRunning(). It's getting a list of PersistentConfiguration
GBeans and querying each one to see if it's active. Only when all are active is the server
determined to be "active". During a deploy, there must be GBeans which are destroyed, probably
as a replacement is created? (e.g. LocalAttributeManager).
I have a patch (will post shortly) that sets a boolean to true once a server is detected as
"running". After it's set to true, we'll never check the GBeans again... Clearly we're in
need of a better way of determining server "state", any bright ideas? However, the boolean
fixes the problem at hand...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
|