[jboss-svn-commits] JBL Code SVN: r37896 - in labs/jbossesb/trunk/product/rosetta: tests/src/org/jboss/soa/esb/listeners and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Feb 23 15:27:08 EST 2012
Author: tcunning
Date: 2012-02-23 15:27:07 -0500 (Thu, 23 Feb 2012)
New Revision: 37896
Modified:
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/RegistryUtil.java
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/RegistryUtilUnitTest.java
Log:
JBESB-3747
Make sure that we handle ServiceNotFoundException in a better
way so that it doesn't prevent registerEpr from happening if the
service does not exist.
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 2012-02-22 23:56:13 UTC (rev 37895)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/RegistryUtil.java 2012-02-23 20:27:07 UTC (rev 37896)
@@ -138,21 +138,23 @@
try
{
if ("true".equalsIgnoreCase(removeOldService))
- registry.unRegisterService(category, name);
-
- registry.registerEPR(category, name,
- serviceDescription, epr, eprDescription) ;
+ registry.unRegisterService(category, name);
}
catch (ServiceNotFoundException ex)
{
// ignore as it's possible another client just did the removal for us.
-
- logger.debug("Could not unregister service < "+category+", "+name+" >.");
+ logger.debug("removeOldService set : Could not unregister service < "+category+", "+name+" >.");
}
+
+ try {
+ registry.registerEPR(category, name,
+ serviceDescription, epr, eprDescription) ;
+ }
finally
{
registryLock.unlock() ;
}
+
}
}
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/RegistryUtilUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/RegistryUtilUnitTest.java 2012-02-22 23:56:13 UTC (rev 37895)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/RegistryUtilUnitTest.java 2012-02-23 20:27:07 UTC (rev 37896)
@@ -23,11 +23,15 @@
package org.jboss.soa.esb.listeners;
import org.apache.log4j.Logger;
+import org.jboss.soa.esb.addressing.EPR;
+
import org.jboss.soa.esb.addressing.eprs.HTTPEpr;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.services.registry.RegistryException;
import org.jboss.soa.esb.services.registry.ServiceNotFoundException;
+import java.util.List;
+
public class RegistryUtilUnitTest extends ListenerManagerBaseTest
{
@SuppressWarnings("unused")
@@ -42,6 +46,41 @@
runAfterAllTests();
}
+ public void testJBESB3747() throws Exception
+ {
+ RegistryUtil.getEprManager();
+ HTTPEpr epr = new HTTPEpr("http://foo.bar");
+ ConfigTree tree = new ConfigTree("test");
+
+ tree.setAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG, "eprmanager");
+ tree.setAttribute(ListenerTagNames.SERVICE_NAME_TAG, "test");
+ tree.setAttribute(ListenerTagNames.REMOVE_OLD_SERVICE, "true");
+
+ RegistryUtil.register(tree, epr);
+
+ boolean exception = false;
+ try
+ {
+ RegistryUtil.getEprs("eprmanager", "test");
+ }
+ catch (ServiceNotFoundException ex)
+ {
+ exception = true;
+ ex.printStackTrace();
+ }
+ catch (RegistryException ex)
+ {
+ exception = true;
+ ex.printStackTrace();
+ }
+
+ if (exception)
+ fail("Received exception when querying for foobar:test");
+
+ RegistryUtil.unregister("eprmanager", "test", epr);
+
+ }
+
public void testRegistryUtil () throws Exception
{
RegistryUtil.getEprManager();
@@ -69,11 +108,11 @@
RegistryUtil.register(tree, epr);
+ List<EPR> eprList = null;
try
{
- // case difference is deliberate!
-
- RegistryUtil.getEprs("eprManager", "test");
+ eprList = RegistryUtil.getEprs("eprmanager", "test");
+ assertEquals(1, eprList.size());
}
catch (RegistryException ex)
{
More information about the jboss-svn-commits
mailing list