[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