You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2012/09/28 21:58:16 UTC
svn commit: r1391621 -
/openejb/branches/openejb-4.5.0/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Warmup.java
Author: dblevins
Date: Fri Sep 28 19:58:16 2012
New Revision: 1391621
URL: http://svn.apache.org/viewvc?rev=1391621&view=rev
Log:
svn merge -r 1391610:1391611 https://svn.apache.org/repos/asf/openejb/trunk/openejb
http://svn.apache.org/viewvc?view=revision&revision=1391611
------------------------------------------------------------------------
r1391611 | dblevins | 2012-09-28 14:20:14 -0500 (Fri, 28 Sep 2012) | 1 line
add back in jaxb pre-load
------------------------------------------------------------------------
Modified:
openejb/branches/openejb-4.5.0/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Warmup.java
Modified: openejb/branches/openejb-4.5.0/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Warmup.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-4.5.0/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Warmup.java?rev=1391621&r1=1391620&r2=1391621&view=diff
==============================================================================
--- openejb/branches/openejb-4.5.0/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Warmup.java (original)
+++ openejb/branches/openejb-4.5.0/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Warmup.java Fri Sep 28 19:58:16 2012
@@ -17,7 +17,10 @@
package org.apache.tomee.catalina;
import org.apache.openejb.config.TldScanner;
+import org.apache.openejb.jee.JaxbJavaee;
+import org.apache.openejb.jee.WebApp;
+import javax.xml.bind.JAXBException;
import java.util.concurrent.Semaphore;
/**
@@ -154,6 +157,11 @@ public class Warmup {
final ClassLoader loader = Warmup.class.getClassLoader();
+ final JaxbJavaeeLoad jaxbJavaeeLoad = new JaxbJavaeeLoad(WebApp.class);
+ final Thread jaxb = new Thread(jaxbJavaeeLoad);
+ jaxb.setDaemon(true);
+ jaxb.start();
+
try { // see org.apache.openejb.Core
Class.forName("org.apache.openejb.util.Logger", true, loader);
Class.forName("org.apache.openejb.util.JuliLogStreamFactory", true, loader);
@@ -165,6 +173,7 @@ public class Warmup {
final Semaphore semaphore = new Semaphore(0);
final Thread tld = new Thread() {
+
@Override
public void run() {
try {
@@ -205,9 +214,27 @@ public class Warmup {
try {
semaphore.acquire(permits);
tld.join();
+ jaxb.join();
} catch (InterruptedException e) {
Thread.interrupted();
}
}
+
+ private static class JaxbJavaeeLoad implements Runnable {
+
+ private final Class<?> type;
+
+ private JaxbJavaeeLoad(Class<?> type) {
+ this.type = type;
+ }
+
+ @Override
+ public void run() {
+ try {
+ JaxbJavaee.getContext(type);
+ } catch (JAXBException e) {
+ }
+ }
+ }
}