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
- }
- }
}
}
}