Author: solomax
Date: Thu May 12 16:21:26 2016
New Revision: 1743521
URL: http://svn.apache.org/viewvc?rev=1743521&view=rev
Log:
[OPENMEETINGS-1393] minor app destroy fix
Modified:
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
Modified:
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java?rev=1743521&r1=1743520&r2=1743521&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
Thu May 12 16:21:26 2016
@@ -22,6 +22,7 @@ import static org.apache.openmeetings.ut
import static
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
import static org.red5.logging.Red5LoggerFactory.getLogger;
import static
org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE;
+import static
org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
@@ -45,6 +46,7 @@ import org.apache.wicket.request.cycle.R
import org.apache.wicket.request.cycle.RequestCycleContext;
import org.apache.wicket.util.tester.WicketTester;
import org.slf4j.Logger;
+import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.XmlWebApplicationContext;
public class ApplicationHelper {
@@ -119,10 +121,20 @@ public class ApplicationHelper {
WebSession s = WebSession.get();
if (langId > 0) {
((IWebSession)s).setLanguage(langId);
-
}
- ThreadContext.setSession(s);
}
return a;
}
+
+ public static void destroyApplication() {
+ WebApplicationContext ctx =
getWebApplicationContext(((WebApplication)ensureApplication()).getServletContext());
+ ((XmlWebApplicationContext)ctx).destroy();
+ ThreadContext.setApplication(null);
+ ThreadContext.setRequestCycle(null);
+ ThreadContext.setSession(null);
+ }
+
+ public static WebApplicationContext getApplicationContext(Long langId) {
+ return
getWebApplicationContext(((WebApplication)ensureApplication(langId)).getServletContext());
+ }
}
Modified:
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java?rev=1743521&r1=1743520&r2=1743521&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
Thu May 12 16:21:26 2016
@@ -18,12 +18,11 @@
*/
package org.apache.openmeetings.cli;
-import static
org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
+import static
org.apache.openmeetings.db.util.ApplicationHelper.destroyApplication;
import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
import static org.apache.openmeetings.db.util.UserHelper.invalidPassword;
import static
org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
import static
org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
-import static
org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
import java.io.BufferedReader;
import java.io.File;
@@ -58,6 +57,7 @@ import org.apache.openmeetings.db.dao.ba
import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.util.ApplicationHelper;
import org.apache.openmeetings.installation.ImportInitvalues;
import org.apache.openmeetings.installation.InstallationConfig;
import org.apache.openmeetings.installation.InstallationDocumentHandler;
@@ -67,13 +67,11 @@ import org.apache.openmeetings.util.Impo
import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.apache.openmeetings.util.mail.MailUtil;
-import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.util.string.StringValue;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
import org.springframework.web.context.WebApplicationContext;
-import org.springframework.web.context.support.XmlWebApplicationContext;
public class Admin {
private static final Logger log =
Red5LoggerFactory.getLogger(Admin.class);
@@ -174,7 +172,7 @@ public class Admin {
private WebApplicationContext getApplicationContext() {
if (ctx == null) {
Long lngId =
StringValue.valueOf(cfg.defaultLangId).toLong(1L);
- ctx =
getWebApplicationContext(((WebApplication)ensureApplication(lngId)).getServletContext());
+ ctx = ApplicationHelper.getApplicationContext(lngId);
SchedulerFactoryBean sfb =
ctx.getBean(SchedulerFactoryBean.class);
try {
sfb.getScheduler().shutdown(false);
@@ -487,7 +485,7 @@ public class Admin {
private void immediateDropDB(ConnectionProperties props) throws
Exception {
if (ctx != null) {
- ((XmlWebApplicationContext)ctx).destroy();
+ destroyApplication();
ctx = null;
}
JDBCConfigurationImpl conf = new JDBCConfigurationImpl();
Modified:
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java?rev=1743521&r1=1743520&r2=1743521&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
Thu May 12 16:21:26 2016
@@ -22,6 +22,7 @@ import static org.apache.openmeetings.ut
import static
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
import static org.red5.logging.Red5LoggerFactory.getLogger;
import static
org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE;
+import static
org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
@@ -45,6 +46,7 @@ import org.apache.wicket.request.cycle.R
import org.apache.wicket.request.cycle.RequestCycleContext;
import org.apache.wicket.util.tester.WicketTester;
import org.slf4j.Logger;
+import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.XmlWebApplicationContext;
public class ApplicationHelper {
@@ -119,10 +121,20 @@ public class ApplicationHelper {
WebSession s = WebSession.get();
if (langId > 0) {
((IWebSession)s).setLanguage(langId);
-
}
- ThreadContext.setSession(s);
}
return a;
}
+
+ public static void destroyApplication() {
+ WebApplicationContext ctx =
getWebApplicationContext(((WebApplication)ensureApplication()).getServletContext());
+ ((XmlWebApplicationContext)ctx).destroy();
+ ThreadContext.setApplication(null);
+ ThreadContext.setRequestCycle(null);
+ ThreadContext.setSession(null);
+ }
+
+ public static WebApplicationContext getApplicationContext(Long langId) {
+ return
getWebApplicationContext(((WebApplication)ensureApplication(langId)).getServletContext());
+ }
}
Modified:
openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java?rev=1743521&r1=1743520&r2=1743521&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
Thu May 12 16:21:26 2016
@@ -18,12 +18,11 @@
*/
package org.apache.openmeetings.cli;
-import static
org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
+import static
org.apache.openmeetings.db.util.ApplicationHelper.destroyApplication;
import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
import static org.apache.openmeetings.db.util.UserHelper.invalidPassword;
import static
org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
import static
org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
-import static
org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
import java.io.BufferedReader;
import java.io.File;
@@ -58,6 +57,7 @@ import org.apache.openmeetings.db.dao.ba
import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.util.ApplicationHelper;
import org.apache.openmeetings.installation.ImportInitvalues;
import org.apache.openmeetings.installation.InstallationConfig;
import org.apache.openmeetings.installation.InstallationDocumentHandler;
@@ -67,13 +67,11 @@ import org.apache.openmeetings.util.Impo
import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.apache.openmeetings.util.mail.MailUtil;
-import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.util.string.StringValue;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
import org.springframework.web.context.WebApplicationContext;
-import org.springframework.web.context.support.XmlWebApplicationContext;
public class Admin {
private static final Logger log =
Red5LoggerFactory.getLogger(Admin.class);
@@ -174,7 +172,7 @@ public class Admin {
private WebApplicationContext getApplicationContext() {
if (ctx == null) {
Long lngId =
StringValue.valueOf(cfg.defaultLangId).toLong(1L);
- ctx =
getWebApplicationContext(((WebApplication)ensureApplication(lngId)).getServletContext());
+ ctx = ApplicationHelper.getApplicationContext(lngId);
SchedulerFactoryBean sfb =
ctx.getBean(SchedulerFactoryBean.class);
try {
sfb.getScheduler().shutdown(false);
@@ -487,7 +485,7 @@ public class Admin {
private void immediateDropDB(ConnectionProperties props) throws
Exception {
if (ctx != null) {
- ((XmlWebApplicationContext)ctx).destroy();
+ destroyApplication();
ctx = null;
}
JDBCConfigurationImpl conf = new JDBCConfigurationImpl();
Modified:
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java?rev=1743521&r1=1743520&r2=1743521&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
(original)
+++
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
Thu May 12 16:21:26 2016
@@ -22,6 +22,7 @@ import static org.apache.openmeetings.ut
import static
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
import static org.red5.logging.Red5LoggerFactory.getLogger;
import static
org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE;
+import static
org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
@@ -45,6 +46,7 @@ import org.apache.wicket.request.cycle.R
import org.apache.wicket.request.cycle.RequestCycleContext;
import org.apache.wicket.util.tester.WicketTester;
import org.slf4j.Logger;
+import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.XmlWebApplicationContext;
public class ApplicationHelper {
@@ -119,10 +121,20 @@ public class ApplicationHelper {
WebSession s = WebSession.get();
if (langId > 0) {
((IWebSession)s).setLanguage(langId);
-
}
- ThreadContext.setSession(s);
}
return a;
}
+
+ public static void destroyApplication() {
+ WebApplicationContext ctx =
getWebApplicationContext(((WebApplication)ensureApplication()).getServletContext());
+ ((XmlWebApplicationContext)ctx).destroy();
+ ThreadContext.setApplication(null);
+ ThreadContext.setRequestCycle(null);
+ ThreadContext.setSession(null);
+ }
+
+ public static WebApplicationContext getApplicationContext(Long langId) {
+ return
getWebApplicationContext(((WebApplication)ensureApplication(langId)).getServletContext());
+ }
}
Modified:
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java?rev=1743521&r1=1743520&r2=1743521&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
(original)
+++
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
Thu May 12 16:21:26 2016
@@ -18,12 +18,11 @@
*/
package org.apache.openmeetings.cli;
-import static
org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
+import static
org.apache.openmeetings.db.util.ApplicationHelper.destroyApplication;
import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
import static org.apache.openmeetings.db.util.UserHelper.invalidPassword;
import static
org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
import static
org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
-import static
org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
import java.io.BufferedReader;
import java.io.File;
@@ -58,6 +57,7 @@ import org.apache.openmeetings.db.dao.ba
import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.util.ApplicationHelper;
import org.apache.openmeetings.installation.ImportInitvalues;
import org.apache.openmeetings.installation.InstallationConfig;
import org.apache.openmeetings.installation.InstallationDocumentHandler;
@@ -67,13 +67,11 @@ import org.apache.openmeetings.util.Impo
import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.apache.openmeetings.util.mail.MailUtil;
-import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.util.string.StringValue;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
import org.springframework.web.context.WebApplicationContext;
-import org.springframework.web.context.support.XmlWebApplicationContext;
public class Admin {
private static final Logger log =
Red5LoggerFactory.getLogger(Admin.class);
@@ -174,7 +172,7 @@ public class Admin {
private WebApplicationContext getApplicationContext() {
if (ctx == null) {
Long lngId =
StringValue.valueOf(cfg.defaultLangId).toLong(1L);
- ctx =
getWebApplicationContext(((WebApplication)ensureApplication(lngId)).getServletContext());
+ ctx = ApplicationHelper.getApplicationContext(lngId);
SchedulerFactoryBean sfb =
ctx.getBean(SchedulerFactoryBean.class);
try {
sfb.getScheduler().shutdown(false);
@@ -487,7 +485,7 @@ public class Admin {
private void immediateDropDB(ConnectionProperties props) throws
Exception {
if (ctx != null) {
- ((XmlWebApplicationContext)ctx).destroy();
+ destroyApplication();
ctx = null;
}
JDBCConfigurationImpl conf = new JDBCConfigurationImpl();