[jboss-svn-commits] JBL Code SVN: r25260 - in labs/jbossesb/trunk/product/rosetta/src/org/jboss: soa/esb/listeners and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Feb 13 16:18:59 EST 2009
Author: mark.little at jboss.com
Date: 2009-02-13 16:18:58 -0500 (Fri, 13 Feb 2009)
New Revision: 25260
Modified:
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/RegistryUtil.java
Log:
https://jira.jboss.org/jira/browse/JBESB-2185
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java 2009-02-13 20:04:53 UTC (rev 25259)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java 2009-02-13 21:18:58 UTC (rev 25260)
@@ -184,8 +184,10 @@
throw new ServiceNotFoundException("No such Service found for service with category= "
+ category + " and name = " + serviceName);
}
+ boolean deleted = false;
Collection serviceBindings = findServiceBindings(service);
service.addServiceBindings(serviceBindings);
+ String toBeDeletedEPRXml = EPRHelper.toXMLString(toBeDeletedEPR).trim();
for (Iterator i=serviceBindings.iterator();i.hasNext();){
ServiceBinding serviceBinding = (ServiceBinding) i.next();
String eprXML = serviceBinding.getAccessURI().trim();
@@ -201,18 +203,20 @@
logger.error(ue.getMessage(), ue);
}
}
- String toBeDeletedEPRXml = EPRHelper.toXMLString(toBeDeletedEPR).trim();
if (eprXML.equals(toBeDeletedEPRXml)) {
+ logger.debug("Unregistering " + toBeDeletedEPR);
RegistryService rs = connection.getRegistryService();
BusinessLifeCycleManager blm = rs.getBusinessLifeCycleManager();
Collection<Key> serviceBindingKeys = new ArrayList<Key>();
serviceBindingKeys.add(serviceBinding.getKey());
blm.deleteServiceBindings(serviceBindingKeys);
- return;
+ deleted = true;
}
}
- throw new RegistryException("No such EPR found for service with name = "
+ if (!deleted) {
+ throw new RegistryException("No such EPR found for service with name = "
+ serviceName + " and EPR=" + toBeDeletedEPR);
+ }
} catch (JAXRException je) {
throw new RegistryException(je.getLocalizedMessage(), je);
} catch (MarshalException me) {
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/RegistryUtil.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/RegistryUtil.java 2009-02-13 20:04:53 UTC (rev 25259)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/RegistryUtil.java 2009-02-13 21:18:58 UTC (rev 25260)
@@ -129,20 +129,30 @@
final String eprDescription = config.getAttribute(ListenerTagNames.EPR_DESCRIPTION_TAG) ;
final Registry registry = RegistryFactory.getRegistry() ;
- if (logger.isDebugEnabled())
- {
- logger.debug("Registering < " + name + ", " + epr + " >") ;
- }
-
registryLock.lock();
try
{
- if ("true".equalsIgnoreCase(removeOldService))
- registry.unRegisterService(category, name);
-
- registry.registerEPR(category, name,
- serviceDescription, epr, eprDescription) ;
- }
+ if ("true".equalsIgnoreCase(removeOldService)) {
+ if (logger.isDebugEnabled()) {
+ logger.debug("Unregistering ALL EPR's for service < " + category
+ + ", " + name + " >.");
+ }
+ registry.registerEPR(category, name,
+ serviceDescription, epr, eprDescription) ;
+ } else {
+ if (logger.isDebugEnabled()) {
+ logger.debug("Unregistering any existing < " + name + ", " + epr + " >");
+ }
+ // https://jira.jboss.org/jira/browse/JBESB-866
+ unregister(category, name, epr);
+ }
+
+ if (logger.isDebugEnabled()) {
+ logger.debug("Registering < " + name + ", " + epr + " >");
+ }
+ registry.registerEPR(category, name, serviceDescription, epr,
+ eprDescription);
+ }
catch (ServiceNotFoundException ex)
{
// ignore as it's possible another client just did the removal for us.
More information about the jboss-svn-commits
mailing list