Issue Details (XML | Word | Printable)

Key: ODE-568
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Alexis Midon
Reporter: Alexis Midon
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
ODE

Undeploying a process does not remove corresponding service from ODE axis2

Created: 01/Apr/09 01:10 AM   Updated: 11/Sep/09 12:05 AM
Return to search
Component/s: Axis2 Integration
Affects Version/s: 1.3.2
Fix Version/s: 1.3.4

Time Tracking:
Not Specified

Issue Links:
Reference
 

Resolution Date: 11/Sep/09 12:05 AM


 Description  « Hide
Undeploying a process does not remove corresponding service from axis2
You can see that webservice in Axis2 service list view.

http://localhost:8080/ode/axis2-admin/listService
It requires login. Default login details: admin/axis2

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Alexis Midon added a comment - 01/Apr/09 01:25 AM
ODE-568 is introduced by ODE-345.

ODEServer maintains a map of axis services. The key of this map used to be the process endpoint. However ODE-345 has changed the key: now the key is based on the endpoint *and* on the process conf.

When a package is undeployed, ODEServer#destroyService (called by BindingContextImpl#deactivateMyRoleEndpoint(Endpoint)) receives only the process endpoint. Consequently no key is matched and the axis service is not removed.

Alexis Midon added a comment - 01/Apr/09 10:48 PM
It appears we don't need the unique name introduced by ODE-345 as the key of the service map.

Actually, if a service is shared by multiple processes (i.e. <enableSharing/> set in deploy.xml), only one single instance of ODEService is created. [1]
In other cases, the assumption that different processes hava different service name/port name is valid.

So {service name, port name} is a valid key for the service map.


[1] http://fisheye6.atlassian.com/browse/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java?r=APACHE_ODE_1.X#l561

Alexis Midon added a comment - 02/Apr/09 12:45 AM
committed in 1.X: r761132

Alexis Midon added a comment - 02/Apr/09 09:38 PM
committed in trunk r761436

Alexis Midon added a comment - 17/Apr/09 01:37 AM
on the road to 1.3.1

Alexis Midon added a comment - 10/Sep/09 04:40 PM
The committed fix revealed an issue: now that org.apache.ode.bpel.iapi.BindingContext#deactivateMyRoleEndpoint uses the right key to deactivate an endpoint, it appears that the undeployment of a retired process deactivates the endpoint of the active version of the same process.

org.apache.ode.bpel.engine.BpelProcess#deactivate must invoke BindingContext#deactivateMyRoleEndpoint only if the process is ACTIVE.

Alexis Midon added a comment - 11/Sep/09 12:05 AM
New Revision: 813508