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 de...@apache.org on 2007/03/22 14:06:17 UTC
svn commit: r521249 - in
/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2:
deployment/ deployment/repository/util/ description/ engine/
Author: deepal
Date: Thu Mar 22 06:06:14 2007
New Revision: 521249
URL: http://svn.apache.org/viewvc?view=rev&rev=521249
Log:
-fixed an issue when we try to add a custom deployer (trying to add the same service multiple times and so exception)
- switch back to the old constructor of DeploymentClassLoader
Modified:
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/RepositoryListener.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/DeploymentFileData.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/WSInfoList.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisServiceGroup.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java?view=diff&rev=521249&r1=521248&r2=521249
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java Thu Mar 22 06:06:14 2007
@@ -198,7 +198,7 @@
DeploymentClassLoader deploymentClassLoader =
new DeploymentClassLoader(
new URL[]{moduleurl},
- axisConfig.getModuleClassLoader());
+ axisConfig.getModuleClassLoader(),false);
AxisModule module = new AxisModule();
module.setModuleClassLoader(deploymentClassLoader);
module.setParent(axisConfig);
@@ -244,7 +244,7 @@
try {
serviceGroup.setServiceGroupName(serviceName);
DeploymentClassLoader serviceClassLoader = new DeploymentClassLoader(
- new URL[]{servicesURL}, axisConfig.getServiceClassLoader());
+ new URL[]{servicesURL}, axisConfig.getServiceClassLoader(),false);
String metainf = "meta-inf";
serviceGroup.setServiceGroupClassLoader(serviceClassLoader);
//processing wsdl.list
@@ -552,25 +552,29 @@
}
public void doDeploy() throws DeploymentException {
- if (wsToDeploy.size() > 0) {
- for (int i = 0; i < wsToDeploy.size(); i++) {
- DeploymentFileData currentDeploymentFile = (DeploymentFileData) wsToDeploy.get(i);
- String type = currentDeploymentFile.getType();
- if (TYPE_SERVICE.equals(type)) {
-
- serviceDeployer.deploy(currentDeploymentFile);
- } else if (TYPE_MODULE.equals(type)) {
- moduleDeployer.deploy(currentDeploymentFile);
- } else {
- Deployer deployer = (Deployer) extensioToDeployerMappingMap.get(type);
- if (deployer != null) {
- deployer.deploy(currentDeploymentFile);
+ try {
+ if (wsToDeploy.size() > 0) {
+ for (int i = 0; i < wsToDeploy.size(); i++) {
+ DeploymentFileData currentDeploymentFile = (DeploymentFileData) wsToDeploy.get(i);
+ String type = currentDeploymentFile.getType();
+ if (TYPE_SERVICE.equals(type)) {
+ serviceDeployer.deploy(currentDeploymentFile);
+ } else if (TYPE_MODULE.equals(type)) {
+ moduleDeployer.deploy(currentDeploymentFile);
+ } else {
+ Deployer deployer = (Deployer) extensioToDeployerMappingMap.get(type);
+ if (deployer != null) {
+ deployer.deploy(currentDeploymentFile);
+ }
}
- }
+ }
}
+ }catch(Exception e){
+ e.printStackTrace();
+ } finally {
+ wsToDeploy.clear();
}
- wsToDeploy.clear();
}
/**
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java?view=diff&rev=521249&r1=521248&r2=521249
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java Thu Mar 22 06:06:14 2007
@@ -70,7 +70,7 @@
DeploymentClassLoader classLoader =
new DeploymentClassLoader(new URL[]{parentFile.toURL()},
configCtx
- .getAxisConfiguration().getSystemClassLoader());
+ .getAxisConfiguration().getSystemClassLoader(),false);
Thread.currentThread().setContextClassLoader(classLoader);
String className = file.getName();
className = className.replaceAll(".class", "");
@@ -167,7 +167,7 @@
String className = (String) classList.get(i);
DeploymentClassLoader classLoader = new DeploymentClassLoader(
new URL[]{deploymentFileData.getFile().toURL()},
- configCtx.getAxisConfiguration().getSystemClassLoader());
+ configCtx.getAxisConfiguration().getSystemClassLoader(),false);
Thread.currentThread().setContextClassLoader(classLoader);
className = className.replaceAll(".class", "");
className = className.replaceAll("/", ".");
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/RepositoryListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/RepositoryListener.java?view=diff&rev=521249&r1=521248&r2=521249
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/RepositoryListener.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/RepositoryListener.java Thu Mar 22 06:06:14 2007
@@ -272,8 +272,6 @@
/** Method invoked from the scheduler to start the listener. */
public void startListener() {
checkServices();
- loadOtherDirectories();
-
try {
update();
} catch (DeploymentException e) {
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/DeploymentFileData.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/DeploymentFileData.java?view=diff&rev=521249&r1=521248&r2=521249
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/DeploymentFileData.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/DeploymentFileData.java Thu Mar 22 06:06:14 2007
@@ -119,7 +119,7 @@
file.getAbsolutePath()));
}
urlsToLoadFrom = new URL[]{file.toURL()};
- classLoader = new DeploymentClassLoader(urlsToLoadFrom, parent);
+ classLoader = new DeploymentClassLoader(urlsToLoadFrom, parent,false);
} catch (Exception e) {
throw new AxisFault(e);
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/WSInfoList.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/WSInfoList.java?view=diff&rev=521249&r1=521248&r2=521249
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/WSInfoList.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/repository/util/WSInfoList.java Thu Mar 22 06:06:14 2007
@@ -197,10 +197,8 @@
public void update() throws DeploymentException {
synchronized (deployer) {
checkForUndeployedServices();
-
deployer.unDeploy();
deployer.doDeploy();
-
}
}
@@ -211,7 +209,6 @@
*/
private WSInfo getFileItem(String filename) {
int sise = jarList.size();
-
for (int i = 0; i < sise; i++) {
WSInfo wsInfo = (WSInfo) jarList.get(i);
@@ -219,7 +216,6 @@
return wsInfo;
}
}
-
return null;
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisServiceGroup.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisServiceGroup.java?view=diff&rev=521249&r1=521248&r2=521249
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisServiceGroup.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisServiceGroup.java Thu Mar 22 06:06:14 2007
@@ -120,6 +120,38 @@
service.setLastupdate();
addChild(service);
+ }
+
+ public void addToGroup(AxisService service) throws Exception{
+ if (service == null) {
+ return;
+ }
+ service.setParent(this);
+
+ AxisConfiguration axisConfig = (AxisConfiguration) getParent();
+
+ if (axisConfig != null) {
+ Iterator modules = this.engagedModules.iterator();
+
+ while (modules.hasNext()) {
+ QName moduleName = (QName) modules.next();
+ AxisModule axisModule = axisConfig.getModule(moduleName);
+
+ if (axisModule != null) {
+ Module moduleImpl = axisModule.getModule();
+ if (moduleImpl != null) {
+ // notyfying module for service engagement
+ moduleImpl.engageNotify(service);
+ }
+ service.engageModule(axisModule, axisConfig);
+ } else {
+ throw new AxisFault(Messages.getMessage(
+ "modulenotavailble", moduleName.getLocalPart()));
+ }
+ }
+ }
+ service.setLastupdate();
+ addChild(service);
if(axisConfig!=null){
axisConfig.addToAllServicesMap(service.getName(),service);
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java?view=diff&rev=521249&r1=521248&r2=521249
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java Thu Mar 22 06:06:14 2007
@@ -276,7 +276,14 @@
while (services.hasNext()) {
axisService = (AxisService) services.next();
String serviceName = axisService.getName();
- addToAllServicesMap(serviceName, axisService);
+ if (allServices.get(serviceName) != null) {
+ throw new AxisFault(Messages.getMessage(
+ "twoservicecannothavesamename", axisService.getName()));
+ }
+ if (axisService.getSchematargetNamespace() == null) {
+ axisService
+ .setSchematargetNamespace(Java2WSDLConstants.AXIS2_XSD);
+ }
}
services = axisServiceGroup.getServices();
while (services.hasNext()) {
@@ -300,7 +307,7 @@
Map endpoints = axisService.getEndpoints();
String serviceName = axisService.getName();
- allServices.put(serviceName, axisService);
+ addToAllServicesMap(serviceName, axisService);
if (endpoints != null) {
Iterator endpointNameIter = endpoints.keySet().iterator();
while (endpointNameIter.hasNext()) {
@@ -316,18 +323,8 @@
// serviceGroups.put(axisServiceGroup.getServiceGroupName(),
// axisServiceGroup);
addChild(axisServiceGroup);
- }
-
- public void addToAllServicesMap(String serviceName, AxisService axisService) throws AxisFault {
- if (allServices.get(serviceName) != null) {
- throw new AxisFault(Messages.getMessage(
- "twoservicecannothavesamename", axisService.getName()));
- }
- if (axisService.getSchematargetNamespace() == null) {
- axisService
- .setSchematargetNamespace(Java2WSDLConstants.AXIS2_XSD);
- }
- }
+ }public void addToAllServicesMap(String serviceName, AxisService axisService) {
+ allServices.put(serviceName, axisService);}
public AxisServiceGroup removeServiceGroup(String serviceGroupName) throws AxisFault {
AxisServiceGroup axisServiceGroup = (AxisServiceGroup) getChild(serviceGroupName);
@@ -735,8 +732,7 @@
while (servics.hasNext()) {
AxisService axisService = (AxisService) servics.next();
-
- allServices.put(axisService.getName(), axisService);
+ addToAllServicesMap(axisService.getName(), axisService);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org