Author: rmannibucau
Date: Sat Mar 22 11:12:34 2014
New Revision: 1580193
URL: http://svn.apache.org/r1580193
Log:
OPENEJB-2084 AfterEvent to replace Stop/Start events
Removed:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/event/StartApplicationContext.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/event/StopApplicationContext.java
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/event/AssemblerAfterApplicationCreated.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/event/AssemblerBeforeApplicationDestroyed.java
tomee/tomee/trunk/server/openejb-hessian/src/main/java/org/apache/openejb/server/hessian/HessianService.java
tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cluster/ClusterObserver.java
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1580193&r1=1580192&r2=1580193&view=diff
==============================================================================
---
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
(original)
+++
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
Sat Mar 22 11:12:34 2014
@@ -45,8 +45,6 @@ import org.apache.openejb.assembler.clas
import org.apache.openejb.assembler.classic.event.AssemblerDestroyed;
import org.apache.openejb.assembler.classic.event.ContainerSystemPostCreate;
import org.apache.openejb.assembler.classic.event.ContainerSystemPreDestroy;
-import org.apache.openejb.assembler.classic.event.StartApplicationContext;
-import org.apache.openejb.assembler.classic.event.StopApplicationContext;
import org.apache.openejb.assembler.monitoring.JMXContainer;
import org.apache.openejb.async.AsynchronousPool;
import org.apache.openejb.cdi.CdiAppContextsService;
@@ -888,10 +886,8 @@ public class Assembler extends Assembler
deployedApplications.put(appInfo.path, appInfo);
resumePersistentSchedulers(appContext);
- systemInstance.fireEvent(new StartApplicationContext(appInfo,
appContext));
-
+ systemInstance.fireEvent(new
AssemblerAfterApplicationCreated(appInfo, appContext, allDeployments));
logger.info("createApplication.success", appInfo.path);
- systemInstance.fireEvent(new
AssemblerAfterApplicationCreated(appInfo, allDeployments));
return appContext;
} catch (final ValidationException ve) {
@@ -1522,13 +1518,11 @@ public class Assembler extends Assembler
deployedApplications.remove(appInfo.path);
logger.info("destroyApplication.start", appInfo.path);
- SystemInstance.get().fireEvent(new
AssemblerBeforeApplicationDestroyed(appInfo));
-
final Context globalContext = containerSystem.getJNDIContext();
final AppContext appContext =
containerSystem.getAppContext(appInfo.appId);
final ClassLoader classLoader = appContext.getClassLoader();
- SystemInstance.get().fireEvent(new StopApplicationContext(appInfo,
appContext));
+ SystemInstance.get().fireEvent(new
AssemblerBeforeApplicationDestroyed(appInfo, appContext));
if (null == appContext) {
logger.warning("Application id '" + appInfo.appId + "' not
found in: " + Arrays.toString(containerSystem.getAppContextKeys()));
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/event/AssemblerAfterApplicationCreated.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/event/AssemblerAfterApplicationCreated.java?rev=1580193&r1=1580192&r2=1580193&view=diff
==============================================================================
---
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/event/AssemblerAfterApplicationCreated.java
(original)
+++
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/event/AssemblerAfterApplicationCreated.java
Sat Mar 22 11:12:34 2014
@@ -16,6 +16,7 @@
*/
package org.apache.openejb.assembler.classic.event;
+import org.apache.openejb.AppContext;
import org.apache.openejb.BeanContext;
import org.apache.openejb.assembler.classic.AppInfo;
import org.apache.openejb.observer.Event;
@@ -25,25 +26,29 @@ import java.util.Collection;
@Event
public class AssemblerAfterApplicationCreated {
private final AppInfo app;
+ private final AppContext context;
private final Collection<BeanContext> deployedEjbs;
- private final String s;
- public AssemblerAfterApplicationCreated(final AppInfo appInfo, final
Collection<BeanContext> ejbs) {
+ public AssemblerAfterApplicationCreated(final AppInfo appInfo, final
AppContext appContext, final Collection<BeanContext> ejbs) {
app = appInfo;
+ context = appContext;
deployedEjbs = ejbs;
- this.s = "AssemblerAfterApplicationCreated{app=" + app.appId +"}";
}
public AppInfo getApp() {
return app;
}
+ public AppContext getContext() {
+ return context;
+ }
+
public Collection<BeanContext> getDeployedEjbs() {
return deployedEjbs;
}
@Override
public String toString() {
- return s;
+ return "AssemblerAfterApplicationCreated{app=" + app.appId +"}";
}
}
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/event/AssemblerBeforeApplicationDestroyed.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/event/AssemblerBeforeApplicationDestroyed.java?rev=1580193&r1=1580192&r2=1580193&view=diff
==============================================================================
---
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/event/AssemblerBeforeApplicationDestroyed.java
(original)
+++
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/event/AssemblerBeforeApplicationDestroyed.java
Sat Mar 22 11:12:34 2014
@@ -16,25 +16,30 @@
*/
package org.apache.openejb.assembler.classic.event;
+import org.apache.openejb.AppContext;
import org.apache.openejb.assembler.classic.AppInfo;
import org.apache.openejb.observer.Event;
@Event
public class AssemblerBeforeApplicationDestroyed {
private final AppInfo app;
- private final String s;
+ private final AppContext context;
- public AssemblerBeforeApplicationDestroyed(final AppInfo appInfo) {
+ public AssemblerBeforeApplicationDestroyed(final AppInfo appInfo, final
AppContext appContext) {
app = appInfo;
- s = "AssemblerBeforeApplicationDestroyed{app=" + app.appId + "}";
+ context = appContext;
}
public AppInfo getApp() {
return app;
}
+ public AppContext getContext() {
+ return context;
+ }
+
@Override
public String toString() {
- return s;
+ return "AssemblerBeforeApplicationDestroyed{app=" + app.appId + "}";
}
}
Modified:
tomee/tomee/trunk/server/openejb-hessian/src/main/java/org/apache/openejb/server/hessian/HessianService.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-hessian/src/main/java/org/apache/openejb/server/hessian/HessianService.java?rev=1580193&r1=1580192&r2=1580193&view=diff
==============================================================================
---
tomee/tomee/trunk/server/openejb-hessian/src/main/java/org/apache/openejb/server/hessian/HessianService.java
(original)
+++
tomee/tomee/trunk/server/openejb-hessian/src/main/java/org/apache/openejb/server/hessian/HessianService.java
Sat Mar 22 11:12:34 2014
@@ -22,9 +22,9 @@ import org.apache.openejb.assembler.clas
import org.apache.openejb.assembler.classic.Assembler;
import org.apache.openejb.assembler.classic.EjbJarInfo;
import org.apache.openejb.assembler.classic.EnterpriseBeanInfo;
-import org.apache.openejb.assembler.classic.event.StartApplicationContext;
+import
org.apache.openejb.assembler.classic.event.AssemblerAfterApplicationCreated;
+import
org.apache.openejb.assembler.classic.event.AssemblerBeforeApplicationDestroyed;
import
org.apache.openejb.assembler.classic.event.NewEjbAvailableAfterApplicationCreated;
-import org.apache.openejb.assembler.classic.event.StopApplicationContext;
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.observer.Observes;
import org.apache.openejb.server.SelfManaging;
@@ -114,7 +114,7 @@ public class HessianService implements S
final Assembler assembler =
SystemInstance.get().getComponent(Assembler.class);
if (assembler != null) {
for (final AppInfo appInfo : assembler.getDeployedApplications()) {
- deploy(new StartApplicationContext(appInfo,
SystemInstance.get().getComponent(ContainerSystem.class).getAppContext(appInfo.appId)));
+ deploy(new AssemblerAfterApplicationCreated(appInfo,
SystemInstance.get().getComponent(ContainerSystem.class).getAppContext(appInfo.appId),
null));
}
}
}
@@ -160,24 +160,24 @@ public class HessianService implements S
deploy(event.getApp(), event.getBeanContexts());
}
- public void deploy(final @Observes StartApplicationContext event) {
- final AppInfo appInfo = event.getApplicationInfo();
- deploy(appInfo, event.getApplicationContext().getBeanContexts());
+ public void deploy(final @Observes AssemblerAfterApplicationCreated event)
{
+ final AppInfo appInfo = event.getApp();
+ deploy(appInfo, event.getContext().getBeanContexts());
}
- public void undeploy(@Observes final StopApplicationContext event) {
+ public void undeploy(@Observes final AssemblerBeforeApplicationDestroyed
event) {
if (disabled) {
return;
}
- for (final BeanContext beanContext :
event.getApplicationContext().getBeanContexts()) {
+ for (final BeanContext beanContext :
event.getContext().getBeanContexts()) {
final Class<?> remoteItf =
beanContext.getBusinessRemoteInterface();
if (remoteItf == null) {
continue;
}
final String name =
String.class.cast(beanContext.getDeploymentID());
- registry.undeploy(virtualHost, appName(event.getApplicationInfo(),
beanContext), name);
+ registry.undeploy(virtualHost, appName(event.getApp(),
beanContext), name);
LOGGER.info("Undeployed hessian service " + name);
}
}
Modified:
tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java?rev=1580193&r1=1580192&r2=1580193&view=diff
==============================================================================
---
tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
(original)
+++
tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
Sat Mar 22 11:12:34 2014
@@ -30,8 +30,8 @@ import org.apache.openejb.assembler.clas
import org.apache.openejb.assembler.classic.ServiceInfo;
import org.apache.openejb.assembler.classic.ServletInfo;
import org.apache.openejb.assembler.classic.WebAppInfo;
-import org.apache.openejb.assembler.classic.event.StartApplicationContext;
-import org.apache.openejb.assembler.classic.event.StopApplicationContext;
+import
org.apache.openejb.assembler.classic.event.AssemblerAfterApplicationCreated;
+import
org.apache.openejb.assembler.classic.event.AssemblerBeforeApplicationDestroyed;
import org.apache.openejb.assembler.classic.util.PojoUtil;
import org.apache.openejb.assembler.classic.util.ServiceConfiguration;
import org.apache.openejb.core.CoreContainerSystem;
@@ -535,11 +535,11 @@ public abstract class RESTService implem
return additionalProviders;
}
- public void afterApplicationCreated(@Observes final
StartApplicationContext event) {
+ public void afterApplicationCreated(@Observes final
AssemblerAfterApplicationCreated event) {
if (!enabled)
return;
- final AppInfo appInfo = event.getApplicationInfo();
+ final AppInfo appInfo = event.getApp();
if
("false".equalsIgnoreCase(appInfo.properties.getProperty("openejb.jaxrs.on",
"true"))) {
return;
}
@@ -885,8 +885,8 @@ public abstract class RESTService implem
return cl;
}
- public void deploy(@Observes final StopApplicationContext event) {
- final AppInfo app = event.getApplicationInfo();
+ public void undeploy(@Observes final AssemblerBeforeApplicationDestroyed
event) {
+ final AppInfo app = event.getApp();
if (deployedApplications.contains(app)) {
for (final WebAppInfo webApp : app.webApps) {
final List<DeployedService> toRemove = new
ArrayList<DeployedService>();
@@ -914,7 +914,7 @@ public abstract class RESTService implem
SystemInstance.get().addObserver(this);
for (final AppInfo appInfo : assembler.getDeployedApplications()) {
final AppContext appContext =
containerSystem.getAppContext(appInfo.appId);
- afterApplicationCreated(new StartApplicationContext(appInfo,
appContext));
+ afterApplicationCreated(new
AssemblerAfterApplicationCreated(appInfo, appContext, null));
}
}
}
@@ -931,7 +931,7 @@ public abstract class RESTService implem
if (assembler != null) {
SystemInstance.get().removeObserver(this);
for (final AppInfo appInfo : new
ArrayList<AppInfo>(deployedApplications)) {
- deploy(new StopApplicationContext(appInfo, null));
+ undeploy(new AssemblerBeforeApplicationDestroyed(appInfo,
null));
}
}
Modified:
tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java?rev=1580193&r1=1580192&r2=1580193&view=diff
==============================================================================
---
tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
(original)
+++
tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
Sat Mar 22 11:12:34 2014
@@ -31,9 +31,9 @@ import org.apache.openejb.assembler.clas
import org.apache.openejb.assembler.classic.StatelessBeanInfo;
import org.apache.openejb.assembler.classic.WebAppInfo;
import org.apache.openejb.assembler.classic.WsBuilder;
+import
org.apache.openejb.assembler.classic.event.AssemblerAfterApplicationCreated;
+import
org.apache.openejb.assembler.classic.event.AssemblerBeforeApplicationDestroyed;
import
org.apache.openejb.assembler.classic.event.NewEjbAvailableAfterApplicationCreated;
-import org.apache.openejb.assembler.classic.event.StartApplicationContext;
-import org.apache.openejb.assembler.classic.event.StopApplicationContext;
import org.apache.openejb.assembler.classic.util.PojoUtil;
import org.apache.openejb.assembler.classic.util.ServiceConfiguration;
import org.apache.openejb.core.CoreContainerSystem;
@@ -187,7 +187,7 @@ public abstract class WsService implemen
SystemInstance.get().addObserver(this);
for (final AppInfo appInfo : assembler.getDeployedApplications()) {
final AppContext appContext =
containerSystem.getAppContext(appInfo.appId);
- deploy(new StartApplicationContext(appInfo, appContext));
+ deploy(new AssemblerAfterApplicationCreated(appInfo,
appContext, null));
}
}
}
@@ -197,7 +197,7 @@ public abstract class WsService implemen
if (assembler != null) {
SystemInstance.get().removeObserver(this);
for (final AppInfo appInfo : new
ArrayList<AppInfo>(deployedApplications)) {
- undeploy(new StopApplicationContext(appInfo, null));
+ undeploy(new AssemblerBeforeApplicationDestroyed(appInfo,
null));
}
assembler = null;
if (SystemInstance.get().getComponent(WsService.class) == this) {
@@ -221,10 +221,10 @@ public abstract class WsService implemen
deployApp(event.getApp(), event.getBeanContexts());
}
- public void deploy(final @Observes StartApplicationContext event) {
- final AppInfo appInfo = event.getApplicationInfo();
+ public void deploy(final @Observes AssemblerAfterApplicationCreated event)
{
+ final AppInfo appInfo = event.getApp();
if (deployedApplications.add(appInfo)) {
- deployApp(appInfo,
event.getApplicationContext().getBeanContexts());
+ deployApp(appInfo, event.getContext().getBeanContexts());
}
}
@@ -426,8 +426,8 @@ public abstract class WsService implemen
}
}
- public void undeploy(@Observes final StopApplicationContext event) {
- final AppInfo appInfo = event.getApplicationInfo();
+ public void undeploy(@Observes final AssemblerBeforeApplicationDestroyed
event) {
+ final AppInfo appInfo = event.getApp();
if (deployedApplications.remove(appInfo)) {
for (final EjbJarInfo ejbJar : appInfo.ejbJars) {
final Map<String, PortInfo> ports = new TreeMap<String,
PortInfo>();
Modified:
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cluster/ClusterObserver.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cluster/ClusterObserver.java?rev=1580193&r1=1580192&r2=1580193&view=diff
==============================================================================
---
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cluster/ClusterObserver.java
(original)
+++
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cluster/ClusterObserver.java
Sat Mar 22 11:12:34 2014
@@ -19,10 +19,11 @@ package org.apache.tomee.catalina.cluste
import org.apache.catalina.ha.CatalinaCluster;
import org.apache.catalina.ha.ClusterMessage;
import org.apache.openejb.assembler.classic.AppInfo;
-import org.apache.openejb.assembler.classic.event.StartApplicationContext;
-import org.apache.openejb.assembler.classic.event.StopApplicationContext;
+import
org.apache.openejb.assembler.classic.event.AssemblerAfterApplicationCreated;
+import
org.apache.openejb.assembler.classic.event.AssemblerBeforeApplicationDestroyed;
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.observer.Observes;
+import org.apache.openejb.observer.event.AfterEvent;
import java.io.File;
import java.util.Set;
@@ -36,21 +37,21 @@ public class ClusterObserver {
this.clusters = clusters;
}
- public void deploy(@Observes final StartApplicationContext app) {
+ public void deploy(@Observes final
AfterEvent<AssemblerAfterApplicationCreated> app) {
if (!ClUSTER_DEPLOYMENT) {
return;
}
- final AppInfo appInfo = app.getApplicationInfo();
+ final AppInfo appInfo = app.getEvent().getApp();
send(new DeployMessage(appInfo.path), appInfo);
}
- public void undeploy(@Observes final StopApplicationContext app) {
+ public void undeploy(@Observes final AssemblerBeforeApplicationDestroyed
app) {
if (!ClUSTER_DEPLOYMENT) {
return;
}
- final AppInfo appInfo = app.getApplicationInfo();
+ final AppInfo appInfo = app.getApp();
send(new UndeployMessage(appInfo.path), appInfo);
}