You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2008/06/02 17:04:03 UTC
svn commit: r662454 - in
/webservices/axis2/trunk/java/modules/osgi/src/org/apache/axis2/extensions/osgi:
OSGiAxis2Servlet.java ServiceRegistry.java
Author: dims
Date: Mon Jun 2 08:04:03 2008
New Revision: 662454
URL: http://svn.apache.org/viewvc?rev=662454&view=rev
Log:
init the jaxwsdeployer with the configuration context. add checks to make sure the context is already created
Modified:
webservices/axis2/trunk/java/modules/osgi/src/org/apache/axis2/extensions/osgi/OSGiAxis2Servlet.java
webservices/axis2/trunk/java/modules/osgi/src/org/apache/axis2/extensions/osgi/ServiceRegistry.java
Modified: webservices/axis2/trunk/java/modules/osgi/src/org/apache/axis2/extensions/osgi/OSGiAxis2Servlet.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/osgi/src/org/apache/axis2/extensions/osgi/OSGiAxis2Servlet.java?rev=662454&r1=662453&r2=662454&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/osgi/src/org/apache/axis2/extensions/osgi/OSGiAxis2Servlet.java (original)
+++ webservices/axis2/trunk/java/modules/osgi/src/org/apache/axis2/extensions/osgi/OSGiAxis2Servlet.java Mon Jun 2 08:04:03 2008
@@ -21,23 +21,18 @@
import org.apache.axis2.engine.AxisConfiguration;
import org.apache.axis2.transport.http.AxisServlet;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.deployment.WarBasedAxisConfigurator;
+import org.apache.axis2.deployment.DeploymentException;
+import org.apache.axis2.Constants;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
public class OSGiAxis2Servlet extends AxisServlet {
- public void init(ServletConfig config) throws ServletException {
- // Fix for a class loader issue in Felix
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
- try {
- super.init(config);
- } finally {
- Thread.currentThread().setContextClassLoader(cl);
- }
- }
-
+
/**
* Set the context root if it is not set already. We are overriding AxisServlet's impl to
* get past an issue in Felix.
@@ -59,7 +54,7 @@
configContext.setContextRoot(contextRoot);
}
- public AxisConfiguration getConfiguration() {
- return this.axisConfiguration;
+ public ConfigurationContext ConfigurationContext() {
+ return configContext;
}
}
Modified: webservices/axis2/trunk/java/modules/osgi/src/org/apache/axis2/extensions/osgi/ServiceRegistry.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/osgi/src/org/apache/axis2/extensions/osgi/ServiceRegistry.java?rev=662454&r1=662453&r2=662454&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/osgi/src/org/apache/axis2/extensions/osgi/ServiceRegistry.java (original)
+++ webservices/axis2/trunk/java/modules/osgi/src/org/apache/axis2/extensions/osgi/ServiceRegistry.java Mon Jun 2 08:04:03 2008
@@ -20,6 +20,7 @@
package org.apache.axis2.extensions.osgi;
import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.deployment.ModuleBuilder;
import org.apache.axis2.deployment.ModuleDeployer;
import org.apache.axis2.deployment.util.Utils;
@@ -42,6 +43,7 @@
private OSGiAxis2Servlet servlet;
private LogService log;
private HashMap services = new HashMap();
+ private boolean isInited = false;
public ServiceRegistry(OSGiAxis2Servlet servlet, LogService log) {
this.servlet = servlet;
@@ -49,7 +51,15 @@
}
public void register(Bundle bundle) {
- axisConfig = servlet.getConfiguration();
+ if(!isInited){
+ ConfigurationContext context = servlet.ConfigurationContext();
+ if(context == null){
+ System.out.println("[Axis2/OSGi] Configuration Context is null. unable to register bundle");
+ return;
+ }
+ init(context);
+ isInited = true;
+ }
ClassLoader loader = new BundleClassLoader(bundle, this.getClass().getClassLoader());
addModules(bundle, loader);