Author: rmannibucau
Date: Thu Jul 4 07:55:27 2013
New Revision: 1499672
URL: http://svn.apache.org/r1499672
Log:
mainly final + using a method to destroy resources in Assembler to make it more
readable
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBNamingContextListener.java
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1499672&r1=1499671&r2=1499672&view=diff
==============================================================================
---
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
(original)
+++
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
Thu Jul 4 07:55:27 2013
@@ -1393,7 +1393,7 @@ public class Assembler extends Assembler
}
resourceAdapter.stop();
- } catch (Throwable t) {
+ } catch (final Throwable t) {
logger.fatal("ResourceAdapter Shutdown Failed: " + name, t);
}
} else if (DataSourceFactory.knows(object)) {
@@ -1401,7 +1401,7 @@ public class Assembler extends Assembler
try {
DataSourceFactory.destroy(object);
- } catch (Throwable t) {
+ } catch (final Throwable t) {
//Ignore
}
@@ -1421,6 +1421,8 @@ public class Assembler extends Assembler
}
} else if (ExecutorService.class.isInstance(object)) {
ExecutorService.class.cast(object).shutdown();
+ } else if (DataSource.class.isInstance(object)) {
+
} else if (logger.isDebugEnabled()) {
logger.debug("Not processing resource on destroy: " + className);
}
@@ -1436,7 +1438,7 @@ public class Assembler extends Assembler
break;
}
}
- } catch (Exception e) {
+ } catch (final Exception e) {
logger.debug("Failed to purge resource on destroy: " +
e.getMessage());
}
}
@@ -1734,23 +1736,15 @@ public class Assembler extends Assembler
} else {
globalContext.unbind(name);
}
- } catch (NamingException e) {
+ } catch (final NamingException e) {
logger.warning("can't unbind resource '{0}'", id);
}
}
for (final String id : appInfo.resourceIds) {
final String name = OPENEJB_RESOURCE_JNDI_PREFIX + id;
try {
- final Object object = globalContext.lookup(name);
- final String clazz;
- if (object == null) { // should it be possible?
- clazz = "?";
- } else {
- clazz = object.getClass().getName();
- }
- destroyResource(id, clazz, object);
- globalContext.unbind(name);
- } catch (NamingException e) {
+ destroyLookedUpResource(globalContext, id, name);
+ } catch (final NamingException e) {
logger.warning("can't unbind resource '{0}'", id);
}
}
@@ -1769,6 +1763,18 @@ public class Assembler extends Assembler
}
}
+ private void destroyLookedUpResource(Context globalContext, String id,
String name) throws NamingException {
+ final Object object = globalContext.lookup(name);
+ final String clazz;
+ if (object == null) { // should it be possible?
+ clazz = "?";
+ } else {
+ clazz = object.getClass().getName();
+ }
+ destroyResource(id, clazz, object);
+ globalContext.unbind(name);
+ }
+
private void unbind(final Context context, final String name) {
try {
context.unbind(name);
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java?rev=1499672&r1=1499671&r2=1499672&view=diff
==============================================================================
---
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
(original)
+++
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
Thu Jul 4 07:55:27 2013
@@ -228,6 +228,9 @@ public class DataSourceFactory {
@SuppressWarnings("SuspiciousMethodCalls")
public static void destroy(final Object o) throws Throwable {
final Object instance = realInstance(o);
+ if (instance == null) {
+ return;
+ }
final DataSourceCreator remove = creatorByDataSource.remove(instance);
remove.destroy(instance);
}
Modified:
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBNamingContextListener.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBNamingContextListener.java?rev=1499672&r1=1499671&r2=1499672&view=diff
==============================================================================
---
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBNamingContextListener.java
(original)
+++
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBNamingContextListener.java
Thu Jul 4 07:55:27 2013
@@ -260,7 +260,7 @@ public class OpenEJBNamingContextListene
}
}
- private void bindResource(String name, Object value, String type) {
+ private void bindResource(final String name, final Object value, final
String type) {
Assembler assembler = (Assembler)
SystemInstance.get().getComponent(org.apache.openejb.spi.Assembler.class);
try {
assembler.getContainerSystem().getJNDIContext().lookup(Assembler.OPENEJB_RESOURCE_JNDI_PREFIX
+ name);
@@ -269,7 +269,7 @@ public class OpenEJBNamingContextListene
// no-op: OK
}
- ResourceInfo resourceInfo = new ResourceInfo();
+ final ResourceInfo resourceInfo = new ResourceInfo();
resourceInfo.id = name;
resourceInfo.service = "Resource";
resourceInfo.types.add(type);