You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by va...@apache.org on 2010/06/18 01:32:03 UTC
svn commit: r955786 - in /ode/trunk:
axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
Author: vanto
Date: Thu Jun 17 23:32:03 2010
New Revision: 955786
URL: http://svn.apache.org/viewvc?rev=955786&view=rev
Log:
fixing a potential NPE when a service has not properly been initialized.
Modified:
ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
Modified: ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java?rev=955786&r1=955785&r2=955786&view=diff
==============================================================================
--- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java (original)
+++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java Thu Jun 17 23:32:03 2010
@@ -120,6 +120,7 @@ public class BindingContextImpl implemen
ODEService odeService = new ODEService(axisService, pconf, serviceName, portName, _server._bpelServer, _server._txMgr);
destroyService(serviceName, portName);
+
_services.put(serviceName, portName, odeService);
// Setting our new service on the ODE receiver
@@ -146,14 +147,18 @@ public class BindingContextImpl implemen
try {
String axisServiceName = service.getAxisService().getName();
AxisService axisService = _server._axisConfig.getService(axisServiceName);
- // first, de-allocate its schemas
- axisService.releaseSchemaList();
- // then, de-allocate its parameters
- // the service's wsdl object model is stored as one of its parameters!
- // can't stress strongly enough how important it is to clean this up.
- ArrayList<Parameter> parameters = (ArrayList<Parameter>) axisService.getParameters();
- for (Parameter parameter : parameters) {
- axisService.removeParameter(parameter);
+
+ //axisService might be null if it could not be properly activated before.
+ if (axisService != null) {
+ // first, de-allocate its schemas
+ axisService.releaseSchemaList();
+ // then, de-allocate its parameters
+ // the service's wsdl object model is stored as one of its parameters!
+ // can't stress strongly enough how important it is to clean this up.
+ ArrayList<Parameter> parameters = (ArrayList<Parameter>) axisService.getParameters();
+ for (Parameter parameter : parameters) {
+ axisService.removeParameter(parameter);
+ }
}
// now, stop the service
_server._axisConfig.stopService(axisServiceName);
Modified: ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java?rev=955786&r1=955785&r2=955786&view=diff
==============================================================================
--- ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java (original)
+++ ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java Thu Jun 17 23:32:03 2010
@@ -316,7 +316,7 @@ public class BpelServerImpl implements B
__log.debug("Registering process " + conf.getProcessId() + " with server.");
BpelProcess process = createBpelProcess(conf);
- process._classLoader = Thread.currentThread().getContextClassLoader();
+ process._classLoader = Thread.currentThread().getContextClassLoader();
_engine.registerProcess(process);
_registeredProcesses.add(process);