Author: rmannibucau
Date: Thu May 29 17:16:03 2014
New Revision: 1598336
URL: http://svn.apache.org/r1598336
Log:
TOMEE-1226 correct lifecycle handling of TomEERealm delegate(s)
Modified:
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
Modified:
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java?rev=1598336&r1=1598335&r2=1598336&view=diff
==============================================================================
---
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
(original)
+++
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
Thu May 29 17:16:03 2014
@@ -20,8 +20,10 @@ import org.apache.catalina.Cluster;
import org.apache.catalina.Container;
import org.apache.catalina.Engine;
import org.apache.catalina.Host;
+import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.LifecycleListener;
+import org.apache.catalina.LifecycleState;
import org.apache.catalina.Loader;
import org.apache.catalina.Manager;
import org.apache.catalina.Pipeline;
@@ -367,7 +369,15 @@ public class TomcatWebAppBuilder impleme
if (realm != null && !(realm instanceof TomEERealm)
&& (engine.getParent() == null
|| (engine.getParent() != null &&
!realm.equals(engine.getParent().getRealm())))) {
- engine.setRealm(tomeeRealm(realm));
+ final Realm tomeeRealm = tomeeRealm(realm);
+ engine.setRealm(tomeeRealm);
+ if (LifecycleState.STARTING_PREP.equals(engine.getState())) {
+ try {
+ Lifecycle.class.cast(tomeeRealm).start();
+ } catch (final LifecycleException e) {
+ throw new IllegalStateException(e);
+ }
+ }
}
}