Author: rmannibucau
Date: Thu Oct 20 08:15:39 2011
New Revision: 1186662
URL: http://svn.apache.org/viewvc?rev=1186662&view=rev
Log:
trying to limit reflection for HostConfig
Modified:
openejb/trunk/openejb/assembly/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
Modified:
openejb/trunk/openejb/assembly/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/assembly/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java?rev=1186662&r1=1186661&r2=1186662&view=diff
==============================================================================
---
openejb/trunk/openejb/assembly/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
(original)
+++
openejb/trunk/openejb/assembly/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
Thu Oct 20 08:15:39 2011
@@ -84,6 +84,7 @@ import javax.transaction.TransactionMana
import javax.transaction.TransactionSynchronizationRegistry;
import java.io.File;
import java.io.IOException;
+import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -251,11 +252,19 @@ public class TomcatWebAppBuilder impleme
}
}
+ // TODO: find something more sexy
+ private static Field HOST_CONFIG_HOST = null;
+ static {
+ try { // do it only once
+ HOST_CONFIG_HOST = HostConfig.class.getDeclaredField("host");
+ } catch (NoSuchFieldException e) {
+ // no-op
+ }
+ }
private static boolean isReady(HostConfig deployer) {
- if (deployer != null) {
- // TODO: find something more sexy
+ if (deployer != null && HOST_CONFIG_HOST != null) {
try {
- return
deployer.getClass().getDeclaredField("host").get(deployer) != null;
+ return HOST_CONFIG_HOST.get(deployer) != null;
} catch (Exception e) {
// no-op
}