Author: rmannibucau Date: Mon May 26 19:59:35 2014 New Revision: 1597636 URL: http://svn.apache.org/r1597636 Log: TOMEE-1223 proper close handling in case of error in tomee embedded EJBContainer
Modified: tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/EmbeddedTomEEContainer.java Modified: tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/EmbeddedTomEEContainer.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/EmbeddedTomEEContainer.java?rev=1597636&r1=1597635&r2=1597636&view=diff ============================================================================== --- tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/EmbeddedTomEEContainer.java (original) +++ tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/EmbeddedTomEEContainer.java Mon May 26 19:59:35 2014 @@ -100,8 +100,8 @@ public class EmbeddedTomEEContainer exte } if ((provider == null && ejbContainerProviders > 1) - || (!provider.equals(EmbeddedTomEEContainer.class) - && !CONTAINER_NAMES.contains(provider.toString()))) { + || (!EmbeddedTomEEContainer.class.equals(provider) + && !CONTAINER_NAMES.contains(provider))) { return null; } @@ -165,24 +165,24 @@ public class EmbeddedTomEEContainer exte return tomEEContainer; } catch (final OpenEJBException e) { + tomEEContainer.close(); throw new EJBException(e); } catch (final MalformedURLException e) { + tomEEContainer.close(); throw new EJBException(e); } catch (final ValidationException ve) { + if (tomEEContainer != null) { + tomEEContainer.close(); + } throw ve; } catch (final Exception e) { + if (tomEEContainer != null) { + tomEEContainer.close(); + } if (e instanceof EJBException) { throw (EJBException) e; } throw new TomEERuntimeException("initialization exception", e); - } finally { - if (tomEEContainer == null) { - try { - tomEEContainer.close(); - } catch (final Exception e) { - // no-op - } - } } } }