You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2016/05/12 16:21:26 UTC
svn commit: r1743521 - in /openmeetings/application:
branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/
branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/
branches/3.2.x/openmeetings-db/src/main/ja...
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();