You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/07/25 00:40:37 UTC
svn commit: r1613316 [2/3] - in /tomee/tomee/trunk: ./
container/openejb-core/src/main/java/org/apache/openejb/assembler/
container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/
container/openejb-core/src/main/java/org/apache/openejb...
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java Thu Jul 24 22:40:36 2014
@@ -19,12 +19,7 @@ package org.apache.tomee.catalina;
import org.apache.catalina.core.NamingContextListener;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.core.StandardServer;
-import org.apache.catalina.deploy.ContextEjb;
-import org.apache.catalina.deploy.ContextEnvironment;
-import org.apache.catalina.deploy.ContextResource;
-import org.apache.catalina.deploy.ContextResourceEnvRef;
-import org.apache.catalina.deploy.ContextTransaction;
-import org.apache.catalina.deploy.NamingResources;
+import org.apache.catalina.deploy.NamingResourcesImpl;
import org.apache.naming.ContextAccessController;
import org.apache.naming.ContextBindings;
import org.apache.naming.factory.Constants;
@@ -54,6 +49,12 @@ import org.apache.openejb.persistence.Jt
import org.apache.openejb.spi.ContainerSystem;
import org.apache.openejb.util.Contexts;
import org.apache.openejb.util.URLs;
+import org.apache.tomcat.util.descriptor.web.ContextEjb;
+import org.apache.tomcat.util.descriptor.web.ContextEnvironment;
+import org.apache.tomcat.util.descriptor.web.ContextResource;
+import org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef;
+import org.apache.tomcat.util.descriptor.web.ContextService;
+import org.apache.tomcat.util.descriptor.web.ContextTransaction;
import org.apache.tomee.common.EjbFactory;
import org.apache.tomee.common.EnumFactory;
import org.apache.tomee.common.LookupFactory;
@@ -100,7 +101,7 @@ public class TomcatJndiBuilder {
public TomcatJndiBuilder(final StandardContext standardContext, final WebAppInfo webAppInfo, final Collection<Injection> injections) {
this.injections = injections;
this.standardContext = standardContext;
- this.namingContextListener = BackportUtil.getNamingContextListener(standardContext);
+ this.namingContextListener = standardContext.getNamingContextListener();
this.webAppInfo = webAppInfo;
final String parameter = standardContext.findParameter("openejb.start.late");
@@ -117,7 +118,7 @@ public class TomcatJndiBuilder {
public void mergeJndi() throws OpenEJBException {
- final NamingResources naming = standardContext.getNamingResources();
+ final NamingResourcesImpl naming = standardContext.getNamingResources();
final URI moduleUri = URLs.uri(webAppInfo.moduleId);
for (final EnvEntryInfo ref : webAppInfo.jndiEnc.envEntries) {
@@ -152,7 +153,9 @@ public class TomcatJndiBuilder {
public static void mergeJava(final StandardContext standardContext) {
final ContainerSystem cs = SystemInstance.get().getComponent(ContainerSystem.class);
- ContextAccessController.setWritable(standardContext.getNamingContextListener().getName(), standardContext);
+ final String name = standardContext.getNamingContextListener().getName();
+ final Object namingToken = standardContext.getNamingToken();
+ ContextAccessController.setWritable(name, namingToken);
Context root = null;
try {
root = (Context) ContextBindings.getClassLoader().lookup("");
@@ -163,7 +166,7 @@ public class TomcatJndiBuilder {
// classical deployment - needed because can be overriden through META-INF/context.xml
String path = standardContext.findParameter(TomcatWebAppBuilder.OPENEJB_WEBAPP_MODULE_ID);
if (path == null) { // standardContext not created by OpenEJB
- path = standardContext.getHostname();
+ path = org.apache.tomee.catalina.Contexts.getHostname(standardContext);
if (standardContext.getPath().startsWith("/")) {
path += standardContext.getPath();
} else {
@@ -292,7 +295,7 @@ public class TomcatJndiBuilder {
// no-op
}
- ContextAccessController.setReadOnly(standardContext.getNamingContextListener().getName());
+ ContextAccessController.setReadOnly(name);
}
private static String removeCompEnv(final String key) {
@@ -338,7 +341,7 @@ public class TomcatJndiBuilder {
return value;
}
- public void mergeRef(final NamingResources naming, final EnvEntryInfo ref) {
+ public void mergeRef(final NamingResourcesImpl naming, final EnvEntryInfo ref) {
// if (!ref.referenceName.startsWith("comp/")) return;
if ("java.lang.Class".equals(ref.type)) {
final ContextResourceEnvRef resourceEnv = new ContextResourceEnvRef();
@@ -393,7 +396,7 @@ public class TomcatJndiBuilder {
}
if (replaceEntry) {
- ContextAccessController.setWritable(namingContextListener.getName(), standardContext);
+ ContextAccessController.setWritable(namingContextListener.getName(), standardContext.getNamingToken());
if (!addEntry) {
namingContextListener.removeEnvironment(environment.getName());
}
@@ -402,7 +405,7 @@ public class TomcatJndiBuilder {
}
}
- private boolean isLookupRef(final NamingResources naming, final InjectableInfo ref) {
+ private boolean isLookupRef(final NamingResourcesImpl naming, final InjectableInfo ref) {
if (ref.location == null) {
return false;
}
@@ -426,7 +429,7 @@ public class TomcatJndiBuilder {
return true;
}
- public void mergeRef(final NamingResources naming, final EjbReferenceInfo ref) {
+ public void mergeRef(final NamingResourcesImpl naming, final EjbReferenceInfo ref) {
if (isLookupRef(naming, ref)) {
return;
}
@@ -463,7 +466,7 @@ public class TomcatJndiBuilder {
}
if (replaceEntry) {
- ContextAccessController.setWritable(namingContextListener.getName(), standardContext);
+ ContextAccessController.setWritable(namingContextListener.getName(), standardContext.getNamingToken());
if (!addEntry) {
namingContextListener.removeEjb(ejb.getName());
}
@@ -472,7 +475,7 @@ public class TomcatJndiBuilder {
}
}
- public void mergeRef(final NamingResources naming, final EjbLocalReferenceInfo ref) {
+ public void mergeRef(final NamingResourcesImpl naming, final EjbLocalReferenceInfo ref) {
if (isLookupRef(naming, ref)) {
return;
}
@@ -508,7 +511,7 @@ public class TomcatJndiBuilder {
}
if (replaceEntry) {
- ContextAccessController.setWritable(namingContextListener.getName(), standardContext);
+ ContextAccessController.setWritable(namingContextListener.getName(), standardContext.getNamingToken());
if (!addEntry) {
namingContextListener.removeEjb(ejb.getName());
}
@@ -518,7 +521,7 @@ public class TomcatJndiBuilder {
}
@SuppressWarnings({"UnusedDeclaration"})
- public void mergeRef(final NamingResources naming, final PersistenceContextReferenceInfo ref, final URI moduleUri) {
+ public void mergeRef(final NamingResourcesImpl naming, final PersistenceContextReferenceInfo ref, final URI moduleUri) {
if (isLookupRef(naming, ref)) {
return;
}
@@ -561,7 +564,7 @@ public class TomcatJndiBuilder {
}
if (replaceEntry) {
- ContextAccessController.setWritable(namingContextListener.getName(), standardContext);
+ ContextAccessController.setWritable(namingContextListener.getName(), standardContext.getNamingToken());
if (!addEntry) {
namingContextListener.removeResource(resource.getName());
}
@@ -571,7 +574,7 @@ public class TomcatJndiBuilder {
}
@SuppressWarnings({"UnusedDeclaration"})
- public void mergeRef(final NamingResources naming, final PersistenceUnitReferenceInfo ref, final URI moduleUri) {
+ public void mergeRef(final NamingResourcesImpl naming, final PersistenceUnitReferenceInfo ref, final URI moduleUri) {
if (isLookupRef(naming, ref)) {
return;
}
@@ -612,7 +615,7 @@ public class TomcatJndiBuilder {
}
if (replaceEntry) {
- ContextAccessController.setWritable(namingContextListener.getName(), standardContext);
+ ContextAccessController.setWritable(namingContextListener.getName(), standardContext.getNamingToken());
if (!addEntry) {
namingContextListener.removeResource(resource.getName());
}
@@ -621,7 +624,7 @@ public class TomcatJndiBuilder {
}
}
- public void mergeRef(final NamingResources naming, final ResourceReferenceInfo ref) {
+ public void mergeRef(final NamingResourcesImpl naming, final ResourceReferenceInfo ref) {
if (isLookupRef(naming, ref)) {
return;
}
@@ -653,7 +656,7 @@ public class TomcatJndiBuilder {
}
if (replaceEntry) {
- ContextAccessController.setWritable(namingContextListener.getName(), standardContext);
+ ContextAccessController.setWritable(namingContextListener.getName(), standardContext.getNamingToken());
if (!addEntry) {
namingContextListener.removeResource(resource.getName());
}
@@ -662,7 +665,7 @@ public class TomcatJndiBuilder {
}
}
- public void mergeRef(final NamingResources naming, final ResourceEnvReferenceInfo ref) {
+ public void mergeRef(final NamingResourcesImpl naming, final ResourceEnvReferenceInfo ref) {
if (isLookupRef(naming, ref)) {
return;
}
@@ -709,7 +712,7 @@ public class TomcatJndiBuilder {
}
if (replaceEntry) {
- ContextAccessController.setWritable(namingContextListener.getName(), standardContext);
+ ContextAccessController.setWritable(namingContextListener.getName(), standardContext.getNamingToken());
if (!addEntry) {
namingContextListener.removeResourceEnvRef(resourceEnv.getName());
}
@@ -718,7 +721,7 @@ public class TomcatJndiBuilder {
}
}
- public void mergeRef(final NamingResources naming, final ServiceReferenceInfo ref) {
+ public void mergeRef(final NamingResourcesImpl naming, final ServiceReferenceInfo ref) {
if (isLookupRef(naming, ref)) {
return;
}
@@ -792,11 +795,12 @@ public class TomcatJndiBuilder {
}
// if there was a service entry, remove it
- final String serviceName = BackportUtil.findServiceName(naming, ref.referenceName.replaceAll("^comp/env/", ""));
+ final ContextService service = naming.findService(ref.referenceName.replaceAll("^comp/env/", ""));
+ final String serviceName = service != null ? service.getName() : null;
if (serviceName != null) {
- ContextAccessController.setWritable(namingContextListener.getName(), standardContext);
+ ContextAccessController.setWritable(namingContextListener.getName(), standardContext.getNamingToken());
if (!addEntry) {
- BackportUtil.removeService(namingContextListener, serviceName);
+ namingContextListener.removeService(serviceName);
}
ContextAccessController.setReadOnly(namingContextListener.getName());
}
@@ -808,7 +812,7 @@ public class TomcatJndiBuilder {
// or replace the exisitng resource entry
if (replaceEntry) {
- ContextAccessController.setWritable(namingContextListener.getName(), standardContext);
+ ContextAccessController.setWritable(namingContextListener.getName(), standardContext.getNamingToken());
if (!addEntry) {
namingContextListener.removeResource(resource.getName());
}
@@ -857,7 +861,7 @@ public class TomcatJndiBuilder {
}
public static void importOpenEJBResourcesInTomcat(final Collection<ResourceInfo> resources, final StandardServer server) {
- final NamingResources naming = server.getGlobalNamingResources();
+ final NamingResourcesImpl naming = server.getGlobalNamingResources();
for (final ResourceInfo info : resources) {
final String name = info.id;
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatThreadContextListener.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatThreadContextListener.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatThreadContextListener.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatThreadContextListener.java Thu Jul 24 22:40:36 2014
@@ -61,7 +61,7 @@ public class TomcatThreadContextListener
method = ContextBindings.class.getDeclaredMethod("getThreadName");
method.setAccessible(true);
- final Field threadNameBindingsField = ContextBindings.class.getDeclaredField("threadNameBindings");
+ final Field threadNameBindingsField = ContextBindings.class.getDeclaredField("threadObjectBindings");
threadNameBindingsField.setAccessible(true);
threadNameBindings = (Hashtable<Thread, Object>) threadNameBindingsField.get(null);
} catch (final Exception e) {
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java Thu Jul 24 22:40:36 2014
@@ -31,6 +31,7 @@ import org.apache.catalina.Realm;
import org.apache.catalina.Service;
import org.apache.catalina.UserDatabase;
import org.apache.catalina.Valve;
+import org.apache.catalina.WebResourceRoot;
import org.apache.catalina.Wrapper;
import org.apache.catalina.core.ContainerBase;
import org.apache.catalina.core.NamingContextListener;
@@ -38,18 +39,9 @@ import org.apache.catalina.core.Standard
import org.apache.catalina.core.StandardHost;
import org.apache.catalina.core.StandardServer;
import org.apache.catalina.core.StandardWrapper;
-import org.apache.catalina.deploy.ApplicationParameter;
-import org.apache.catalina.deploy.ContextEnvironment;
-import org.apache.catalina.deploy.ContextResource;
-import org.apache.catalina.deploy.ContextResourceLink;
-import org.apache.catalina.deploy.ContextTransaction;
-import org.apache.catalina.deploy.FilterDef;
-import org.apache.catalina.deploy.FilterMap;
-import org.apache.catalina.deploy.NamingResources;
-import org.apache.catalina.deploy.ResourceBase;
+import org.apache.catalina.deploy.NamingResourcesImpl;
import org.apache.catalina.ha.CatalinaCluster;
import org.apache.catalina.ha.tcp.SimpleTcpCluster;
-import org.apache.catalina.loader.VirtualWebappLoader;
import org.apache.catalina.loader.WebappLoader;
import org.apache.catalina.session.StandardManager;
import org.apache.catalina.startup.Constants;
@@ -59,11 +51,11 @@ import org.apache.catalina.startup.Realm
import org.apache.catalina.startup.SetAllPropertiesRule;
import org.apache.catalina.startup.SetNextNamingRule;
import org.apache.catalina.users.MemoryUserDatabase;
+import org.apache.catalina.webresources.DirResourceSet;
import org.apache.naming.ContextAccessController;
import org.apache.naming.ContextBindings;
import org.apache.naming.ResourceEnvRef;
import org.apache.naming.ResourceRef;
-import org.apache.naming.resources.FileDirContext;
import org.apache.openejb.AppContext;
import org.apache.openejb.BeanContext;
import org.apache.openejb.BeanType;
@@ -114,18 +106,25 @@ import org.apache.openejb.util.Logger;
import org.apache.openejb.util.proxy.LocalBeanProxyFactory;
import org.apache.openejb.util.reflection.Reflections;
import org.apache.tomcat.InstanceManager;
+import org.apache.tomcat.JarScanFilter;
+import org.apache.tomcat.util.descriptor.web.ApplicationParameter;
+import org.apache.tomcat.util.descriptor.web.ContextEnvironment;
+import org.apache.tomcat.util.descriptor.web.ContextResource;
+import org.apache.tomcat.util.descriptor.web.ContextResourceLink;
+import org.apache.tomcat.util.descriptor.web.ContextTransaction;
+import org.apache.tomcat.util.descriptor.web.FilterDef;
+import org.apache.tomcat.util.descriptor.web.FilterMap;
+import org.apache.tomcat.util.descriptor.web.ResourceBase;
import org.apache.tomcat.util.digester.Digester;
+import org.apache.tomcat.util.scan.StandardJarScanFilter;
import org.apache.tomee.catalina.cluster.ClusterObserver;
import org.apache.tomee.catalina.cluster.TomEEClusterListener;
import org.apache.tomee.catalina.environment.Hosts;
import org.apache.tomee.catalina.event.AfterApplicationCreated;
-import org.apache.tomee.catalina.naming.resources.AdditionalDocBase;
-import org.apache.tomee.catalina.naming.resources.EmptyDirContext;
import org.apache.tomee.catalina.routing.RouterValve;
import org.apache.tomee.catalina.websocket.JavaEEDefaultServerEnpointConfigurator;
import org.apache.tomee.common.LegacyAnnotationProcessor;
import org.apache.tomee.common.NamingUtil;
-import org.apache.tomee.common.TomcatVersion;
import org.apache.tomee.common.UserTransactionFactory;
import org.apache.tomee.loader.TomcatHelper;
import org.apache.webbeans.config.WebBeansContext;
@@ -170,7 +169,6 @@ import java.util.concurrent.atomic.Atomi
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
-import static org.apache.tomee.catalina.BackportUtil.getNamingContextListener;
import static org.apache.tomee.catalina.Contexts.warPath;
/**
@@ -419,7 +417,7 @@ public class TomcatWebAppBuilder impleme
public void start(final StandardServer server) {
if (SystemInstance.get().isDefaultProfile()) { // add user tomee is no user are specified
try {
- final NamingResources resources = server.getGlobalNamingResources();
+ final NamingResourcesImpl resources = server.getGlobalNamingResources();
final ContextResource userDataBaseResource = resources.findResource("UserDatabase");
final UserDatabase db = (UserDatabase) server.getGlobalNamingContext().lookup(userDataBaseResource.getName());
if (!db.getUsers().hasNext() && db instanceof MemoryUserDatabase) {
@@ -808,7 +806,12 @@ public class TomcatWebAppBuilder impleme
standardContext.setReloadable(true);
}
if (SKIP_TLD) {
- standardContext.setProcessTlds(false);
+ if (standardContext.getJarScanner() != null && standardContext.getJarScanner().getJarScanFilter() != null) {
+ final JarScanFilter jarScanFilter = standardContext.getJarScanner().getJarScanFilter();
+ if (StandardJarScanFilter.class.isInstance(jarScanFilter)) {
+ StandardJarScanFilter.class.cast(jarScanFilter).setDefaultTldScan(false);
+ }
+ }
}
final String name = standardContext.getName();
@@ -1033,11 +1036,31 @@ public class TomcatWebAppBuilder impleme
// can only be done until here (before_start)
if (Boolean.parseBoolean(SystemInstance.get().getProperty("tomee.skip-war-resources", "false"))) {
- if (!EmptyDirContext.class.isInstance(Reflections.get(standardContext, "webappResources"))) {
- final EmptyDirContext resources = new EmptyDirContext(standardContext);
- standardContext.setResources(resources);
- standardContext.setCachingAllowed(resources.isCached());
- } // else don't redo it otherwise it just doesn't work when reload() is called
+ /* play with StandardRoot to get:
+
+ @Override
+ protected File file(final String name) {
+ if (shouldLookup(name)) {
+ return super.file(name);
+ }
+ if ("/WEB-INF/classes".equals(name)) {
+ if (context.getLoader() != null && TomEEWebappClassLoader.class.isInstance(context.getLoader().getClassLoader())) {
+ final Collection<File> repos = TomEEWebappClassLoader.class.cast(context.getLoader().getClassLoader()).getAdditionalRepos();
+ if (repos != null && !repos.isEmpty()) {
+ return repos.iterator().next();
+ }
+ }
+ }
+ return null;
+ }
+
+ private static boolean shouldLookup(final String name) {
+ return name != null && !name.equals("/WEB-INF/classes")
+ && (name.matches("/?WEB-INF/[^/]*\\.?[^/]")
+ || name.startsWith("/WEB-INF/lib") || name.startsWith("WEB-INF/lib")
+ || name.startsWith("/META-INF/"));
+ }
+ */
}
}
@@ -1045,8 +1068,10 @@ public class TomcatWebAppBuilder impleme
final Loader standardContextLoader = standardContext.getLoader();
if (standardContextLoader != null
&& (
- (!VirtualWebappLoader.class.equals(standardContextLoader.getClass()) && !WebappLoader.class.equals(standardContextLoader.getClass()))
- || (WebappLoader.class.equals(standardContextLoader.getClass()) && !WebappLoader.class.cast(standardContextLoader).getLoaderClass().startsWith("org.apache.tom")))
+ (!TomEEWebappLoader.class.equals(standardContextLoader.getClass())
+ && !WebappLoader.class.equals(standardContextLoader.getClass()))
+ || (WebappLoader.class.equals(standardContextLoader.getClass())
+ && !WebappLoader.class.cast(standardContextLoader).getLoaderClass().startsWith("org.apache.tom")))
) {
// custom loader, we don't know it
// and since we don't have a full delegate pattern for our lazy stop loader
@@ -1055,22 +1080,16 @@ public class TomcatWebAppBuilder impleme
return;
}
- if (standardContextLoader != null && ProvisioningWebappLoader.class.isInstance(standardContextLoader)) {
- standardContextLoader.setContainer(standardContext);
+ if (standardContextLoader != null && TomEEWebappLoader.class.isInstance(standardContextLoader)) {
+ standardContextLoader.setContext(standardContext);
return; // no need to replace the loader
}
// we just want to wrap it to lazy stop it (afterstop)
// to avoid classnotfound in @PreDestoy or destroyApplication()
- final VirtualWebappLoader loader = new ProvisioningWebappLoader();
+ final TomEEWebappLoader loader = new TomEEWebappLoader();
loader.setDelegate(standardContext.getDelegate());
- loader.setLoaderClass(LazyStopWebappClassLoader.class.getName());
-
- if (VirtualWebappLoader.class.isInstance(standardContextLoader)) {
- final VirtualWebappLoader vwl = VirtualWebappLoader.class.cast(standardContextLoader);
- loader.setSearchVirtualFirst(vwl.getSearchVirtualFirst());
- loader.setVirtualClasspath(String.class.cast(Reflections.get(vwl, "virtualClasspath")));
- }
+ loader.setLoaderClass(TomEEWebappClassLoader.class.getName());
final Loader lazyStopLoader = new LazyStopLoader(loader);
standardContext.setLoader(lazyStopLoader);
@@ -1078,14 +1097,12 @@ public class TomcatWebAppBuilder impleme
@Override
public void configureStart(final StandardContext standardContext) {
- if (TomcatHelper.isTomcat7()) {
- TomcatHelper.configureJarScanner(standardContext);
+ TomcatHelper.configureJarScanner(standardContext);
- final ContextTransaction contextTransaction = new ContextTransaction();
- contextTransaction.setProperty(org.apache.naming.factory.Constants.FACTORY, UserTransactionFactory.class.getName());
- standardContext.getNamingResources().setTransaction(contextTransaction);
- startInternal(standardContext);
- }
+ final ContextTransaction contextTransaction = new ContextTransaction();
+ contextTransaction.setProperty(org.apache.naming.factory.Constants.FACTORY, UserTransactionFactory.class.getName());
+ standardContext.getNamingResources().setTransaction(contextTransaction);
+ startInternal(standardContext);
// clear a bit log for default case
addMyFacesDefaultParameters(standardContext.getLoader().getClassLoader(), standardContext.getServletContext());
@@ -1103,9 +1120,7 @@ public class TomcatWebAppBuilder impleme
@SuppressWarnings("unchecked")
@Override
public void start(final StandardContext standardContext) {
- if (!TomcatHelper.isTomcat7()) {
- startInternal(standardContext);
- }
+ startInternal(standardContext);
}
/**
@@ -1220,10 +1235,10 @@ public class TomcatWebAppBuilder impleme
classLoader = appModule.getClassLoader();
} else {
final ClassLoader loader = standardContext.getLoader().getClassLoader();
- if (loader instanceof LazyStopWebappClassLoader) {
- final LazyStopWebappClassLoader lazyStopWebappClassLoader = (LazyStopWebappClassLoader) loader;
+ if (loader instanceof TomEEWebappClassLoader) {
+ final TomEEWebappClassLoader tomEEWebappClassLoader = (TomEEWebappClassLoader) loader;
for (final URL url : appModule.getWebModules().iterator().next().getAddedUrls()) {
- lazyStopWebappClassLoader.addURL(url);
+ tomEEWebappClassLoader.addURL(url);
}
}
}
@@ -1515,8 +1530,9 @@ public class TomcatWebAppBuilder impleme
}
// skip undeployment if restarting
- final LazyStopWebappClassLoader lazyStopWebappClassLoader = lazyClassLoader(child);
- if (lazyStopWebappClassLoader != null && lazyStopWebappClassLoader.isRestarting()) {
+ final TomEEWebappClassLoader tomEEWebappClassLoader = lazyClassLoader(
+ org.apache.catalina.Context.class.isInstance(child)? org.apache.catalina.Context.class.cast(child) : null);
+ if (tomEEWebappClassLoader != null && tomEEWebappClassLoader.isRestarting()) {
return true;
}
@@ -1527,7 +1543,7 @@ public class TomcatWebAppBuilder impleme
return false;
}
- private static LazyStopWebappClassLoader lazyClassLoader(final Container child) {
+ private static TomEEWebappClassLoader lazyClassLoader(final org.apache.catalina.Context child) {
if (child == null) {
return null;
}
@@ -1538,11 +1554,11 @@ public class TomcatWebAppBuilder impleme
}
final ClassLoader old = ((LazyStopLoader) loader).getStopClassLoader();
- if (old == null || !(old instanceof LazyStopWebappClassLoader)) {
+ if (old == null || !(old instanceof TomEEWebappClassLoader)) {
return null;
}
- return (LazyStopWebappClassLoader) old;
+ return (TomEEWebappClassLoader) old;
}
private JndiEncBuilder getJndiBuilder(final ClassLoader classLoader, final WebAppInfo webAppInfo, final Set<Injection> injections) throws OpenEJBException {
@@ -1596,9 +1612,9 @@ public class TomcatWebAppBuilder impleme
final ClassLoader originalLoader = thread.getContextClassLoader();
thread.setContextClassLoader(classLoader);
- final NamingContextListener ncl = getNamingContextListener(standardContext);
+ final NamingContextListener ncl = standardContext.getNamingContextListener();
final String listenerName = ncl.getName();
- ContextAccessController.setWritable(listenerName, standardContext);
+ ContextAccessController.setWritable(listenerName, standardContext.getNamingToken());
try {
final Context openejbContext = (Context) getContainerSystem().getJNDIContext().lookup("openejb");
final Context root = (Context) ContextBindings.getClassLoader().lookup("");
@@ -1651,25 +1667,6 @@ public class TomcatWebAppBuilder impleme
SystemInstance.get().fireEvent(new AfterApplicationCreated(contextInfo.appInfo, webApp));
}
- if (!TomcatVersion.hasAnnotationProcessingSupport()) {
- try {
- final Context compEnv = (Context) ContextBindings.getClassLoader().lookup("comp/env");
-
- final LegacyAnnotationProcessor annotationProcessor = new LegacyAnnotationProcessor(compEnv);
-
- standardContext.addContainerListener(new ProcessAnnotatedListenersListener(annotationProcessor));
-
- for (final Container container : standardContext.findChildren()) {
- if (container instanceof Wrapper) {
- final Wrapper wrapper = (Wrapper) container;
- wrapper.addInstanceListener(new ProcessAnnotatedServletsListener(annotationProcessor));
- }
- }
- } catch (final NamingException e) {
- // no-op
- }
- }
-
// owb integration filters
final WebBeansContext webBeansContext = getWebBeansContext(contextInfo);
if (webBeansContext != null) {
@@ -1780,20 +1777,8 @@ public class TomcatWebAppBuilder impleme
continue;
}
- final FileDirContext altDirContext = new AdditionalDocBase();
- altDirContext.setDocBase(trim);
- altDirContext.setAllowLinking(standardContext.isAllowLinking());
- altDirContext.setAliases(standardContext.getAliases());
- altDirContext.setCacheTTL(standardContext.getCacheTTL());
- altDirContext.setCacheMaxSize(standardContext.getCacheMaxSize());
- altDirContext.setCacheObjectMaxSize(standardContext.getCacheObjectMaxSize());
- if (cache != null) {
- altDirContext.setCached(Boolean.parseBoolean(cache));
- } else {
- altDirContext.setCached(standardContext.isCachingAllowed());
- }
-
- standardContext.addResourcesDirContext(altDirContext);
+ final WebResourceRoot root = standardContext.getResources();
+ root.addPreResources(new DirResourceSet(root, "/", trim, "/"));
}
}
}
@@ -1910,7 +1895,7 @@ public class TomcatWebAppBuilder impleme
return;
}
- final LazyStopWebappClassLoader old = lazyClassLoader(standardContext);
+ final TomEEWebappClassLoader old = lazyClassLoader(standardContext);
if (old != null) { // should always be the case
TldScanner.forceCompleteClean(old);
jsfClasses.remove(old);
@@ -2179,7 +2164,7 @@ public class TomcatWebAppBuilder impleme
logger.debug("context path = " + path);
webModule.setHost(Contexts.getHostname(standardContext));
// Add all Tomcat env entries to context so they can be overriden by the env.properties file
- final NamingResources naming = standardContext.getNamingResources();
+ final NamingResourcesImpl naming = standardContext.getNamingResources();
for (final ContextEnvironment environment : naming.findEnvironments()) {
EnvEntry envEntry = webApp.getEnvEntryMap().get(environment.getName());
if (envEntry == null) {
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Warmup.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Warmup.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Warmup.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Warmup.java Thu Jul 24 22:40:36 2014
@@ -136,8 +136,6 @@ public class Warmup {
"org.apache.tomcat.util.net.AbstractEndpoint",
"org.apache.tomcat.util.scan.StandardJarScanner",
"org.apache.tomcat.util.threads.ThreadPoolExecutor",
- "org.apache.tomee.catalina.BackportUtil",
- "org.apache.tomee.catalina.BackportUtil$1",
"org.apache.tomee.loader.TomEEJarScanner",
// "org.apache.tomee.catalina.TomcatLoader", // can't be loaded from here
"org.apache.webbeans.config.WebBeansFinder",
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cluster/DeployMessage.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cluster/DeployMessage.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cluster/DeployMessage.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cluster/DeployMessage.java Thu Jul 24 22:40:36 2014
@@ -55,4 +55,9 @@ public class DeployMessage extends Clust
public byte[] getArchive() {
return archive;
}
+
+ @Override
+ public String getUniqueId() {
+ return "DEPLOY-" + file;
+ }
}
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cluster/UndeployMessage.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cluster/UndeployMessage.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cluster/UndeployMessage.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cluster/UndeployMessage.java Thu Jul 24 22:40:36 2014
@@ -28,4 +28,9 @@ public class UndeployMessage extends Clu
public String getFile() {
return file;
}
+
+ @Override
+ public String getUniqueId() {
+ return "UNDEPLOY-" + file;
+ }
}
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/realm/LazyRealm.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/realm/LazyRealm.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/realm/LazyRealm.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/realm/LazyRealm.java Thu Jul 24 22:40:36 2014
@@ -27,9 +27,9 @@ import org.apache.catalina.Realm;
import org.apache.catalina.Wrapper;
import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
-import org.apache.catalina.deploy.SecurityConstraint;
import org.apache.catalina.util.LifecycleBase;
import org.apache.openejb.config.sys.PropertiesAdapter;
+import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.apache.tomee.catalina.TomEERuntimeException;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.xbean.recipe.ObjectRecipe;
@@ -52,7 +52,7 @@ public class LazyRealm extends Lifecycle
private boolean cdi;
private volatile Realm delegate;
- private Container container;
+ private Context container;
private CreationalContext<Object> creationalContext;
@@ -183,16 +183,11 @@ public class LazyRealm extends Lifecycle
if (delegate != null) {
instance().setContainer(container);
} else {
- this.container = container;
+ this.container = Context.class.cast(container);
}
}
@Override
- public String getInfo() {
- return instance().getInfo();
- }
-
- @Override
public void addPropertyChangeListener(final PropertyChangeListener listener) {
instance().addPropertyChangeListener(listener);
}
@@ -230,7 +225,8 @@ public class LazyRealm extends Lifecycle
@Override
public boolean hasResourcePermission(final Request request, final Response response,
- final SecurityConstraint[] constraint, final Context context) throws IOException {
+ final SecurityConstraint[] constraint,
+ final Context context) throws IOException {
return instance().hasResourcePermission(request, response, constraint, context);
}
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/realm/LowTypedRealm.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/realm/LowTypedRealm.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/realm/LowTypedRealm.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/realm/LowTypedRealm.java Thu Jul 24 22:40:36 2014
@@ -22,7 +22,7 @@ import org.apache.catalina.Realm;
import org.apache.catalina.Wrapper;
import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
-import org.apache.catalina.deploy.SecurityConstraint;
+import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.apache.tomee.catalina.TomEERuntimeException;
import org.ietf.jgss.GSSContext;
@@ -120,11 +120,6 @@ public class LowTypedRealm implements Re
}
@Override
- public String getInfo() {
- return info;
- }
-
- @Override
public void addPropertyChangeListener(final PropertyChangeListener listener) {
// no-op
}
@@ -182,7 +177,8 @@ public class LowTypedRealm implements Re
@Override
public boolean hasResourcePermission(final Request request, final Response response,
- final SecurityConstraint[] constraint, final Context context) throws IOException {
+ final SecurityConstraint[] constraint,
+ final Context context) throws IOException {
return (Boolean) invoke(hasResourcePermissionMethod, request.getRequest(), response.getResponse(), constraint, context.getPath());
}
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/remote/TomEERemoteWebapp.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/remote/TomEERemoteWebapp.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/remote/TomEERemoteWebapp.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/remote/TomEERemoteWebapp.java Thu Jul 24 22:40:36 2014
@@ -16,7 +16,7 @@
*/
package org.apache.tomee.catalina.remote;
-import org.apache.catalina.Container;
+import org.apache.catalina.Context;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.Loader;
import org.apache.catalina.Wrapper;
@@ -53,8 +53,6 @@ public class TomEERemoteWebapp extends I
}
private static class ServerClassLoaderLoader implements Loader {
- private static final String[] EMPTY_ARRAY = new String[0];
-
private final TomEERemoteWebapp container;
public ServerClassLoaderLoader(final TomEERemoteWebapp tomEERemoteWebapp) {
@@ -72,12 +70,12 @@ public class TomEERemoteWebapp extends I
}
@Override
- public Container getContainer() {
+ public Context getContext() {
return container;
}
@Override
- public void setContainer(final Container container) {
+ public void setContext(final Context context) {
// no-op
}
@@ -92,11 +90,6 @@ public class TomEERemoteWebapp extends I
}
@Override
- public String getInfo() {
- return ServerClassLoaderLoader.class.getName() + "/1.0";
- }
-
- @Override
public boolean getReloadable() {
return false;
}
@@ -112,16 +105,6 @@ public class TomEERemoteWebapp extends I
}
@Override
- public void addRepository(final String repository) {
- // no-op
- }
-
- @Override
- public String[] findRepositories() {
- return EMPTY_ARRAY;
- }
-
- @Override
public boolean modified() {
return false;
}
Added: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/scan/EmptyScanner.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/scan/EmptyScanner.java?rev=1613316&view=auto
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/scan/EmptyScanner.java (added)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/scan/EmptyScanner.java Thu Jul 24 22:40:36 2014
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomee.catalina.scan;
+
+import org.apache.tomcat.JarScanFilter;
+import org.apache.tomcat.JarScanType;
+import org.apache.tomcat.JarScanner;
+import org.apache.tomcat.JarScannerCallback;
+
+import javax.servlet.ServletContext;
+
+public class EmptyScanner implements JarScanner {
+ private JarScanFilter scanner;
+
+ @Override
+ public void scan(final JarScanType scanType, final ServletContext context,
+ final JarScannerCallback callback) {
+ // no-op
+ }
+
+ @Override
+ public JarScanFilter getJarScanFilter() {
+ return scanner;
+ }
+
+ @Override
+ public void setJarScanFilter(final JarScanFilter jarScanFilter) {
+ this.scanner = jarScanFilter;
+ }
+}
Modified: tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java (original)
+++ tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java Thu Jul 24 22:40:36 2014
@@ -25,7 +25,6 @@ import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
-import java.util.Arrays;
import java.util.List;
import java.util.jar.JarFile;
import java.util.zip.ZipEntry;
@@ -264,6 +263,7 @@ public class Installer implements Instal
}
}
+ /*
private void addJavaeeInEndorsed() {
final File endorsed = new File(paths.getCatalinaHomeDir(), "endorsed");
if (!endorsed.mkdir()) {
@@ -285,6 +285,7 @@ public class Installer implements Instal
}
}
}
+ */
private void copyClasses(final File javaEEAPIJar, final File sourceJar, final File destinationJar,
final String pattern, final List<String> exceptions) {
@@ -651,7 +652,10 @@ public class Installer implements Instal
}
}
if (newLoggingProps != null) {
- if (Installers.writeAll(loggingPropsFile, newLoggingProps, alerts)) {
+ if (Installers.writeAll(
+ loggingPropsFile,
+ newLoggingProps.replace("java.util.logging.ConsoleHandler", "org.apache.tomee.jul.formatter.AsyncConsoleHandler"),
+ alerts)) {
alerts.addInfo("Append OpenEJB config to logging.properties");
}
}
Modified: tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Paths.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Paths.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Paths.java (original)
+++ tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Paths.java Thu Jul 24 22:40:36 2014
@@ -20,7 +20,6 @@ package org.apache.tomee.installer;
import org.apache.openejb.jpa.integration.MakeTxLookup;
import org.apache.openejb.loader.JarLocation;
-import org.apache.tomee.common.TomcatVersion;
import java.io.File;
import java.io.FilenameFilter;
@@ -174,11 +173,7 @@ public class Paths implements PathsInter
return null;
}
- if (TomcatVersion.v6.isTheVersion() || TomcatVersion.v7.isTheVersion()) {
- return new File(catalinaHomeDir, "lib");
- } else {
- return new File(new File(catalinaHomeDir, "server"), "lib");
- }
+ return new File(catalinaHomeDir, "lib");
}
/**
* Returns the directory representing {@link #catalinaBaseDir}/conf
Modified: tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java (original)
+++ tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java Thu Jul 24 22:40:36 2014
@@ -20,6 +20,7 @@ import org.apache.catalina.LifecycleExce
import org.apache.catalina.Server;
import org.apache.catalina.Service;
import org.apache.catalina.connector.Connector;
+import org.apache.catalina.core.StandardContext;
import org.apache.catalina.core.StandardServer;
import org.apache.catalina.session.StandardManager;
import org.apache.catalina.startup.CatalinaProperties;
@@ -508,11 +509,11 @@ public class Container {
final org.apache.catalina.Container e = service.getContainer();
for (final org.apache.catalina.Container h : e.findChildren()) {
for (final org.apache.catalina.Container c : h.findChildren()) {
- StandardManager m = (StandardManager) c.getManager();
+ StandardManager m = (StandardManager) StandardContext.class.cast(c).getManager();
if (m == null) {
m = new StandardManager();
m.setSecureRandomClass("org.apache.catalina.startup.FastNonSecureRandom");
- c.setManager(m);
+ StandardContext.class.cast(c).setManager(m);
}
}
}
Modified: tomee/tomee/trunk/tomee/tomee-jaxrs/src/test/java/org/apache/tomee/jaxrs/ReloadingLoaderTest.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-jaxrs/src/test/java/org/apache/tomee/jaxrs/ReloadingLoaderTest.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-jaxrs/src/test/java/org/apache/tomee/jaxrs/ReloadingLoaderTest.java (original)
+++ tomee/tomee/trunk/tomee/tomee-jaxrs/src/test/java/org/apache/tomee/jaxrs/ReloadingLoaderTest.java Thu Jul 24 22:40:36 2014
@@ -34,7 +34,7 @@ import org.apache.openejb.loader.SystemI
import org.apache.openejb.server.cxf.rs.CxfRSService;
import org.apache.openejb.spi.ContainerSystem;
import org.apache.openejb.util.reflection.Reflections;
-import org.apache.tomee.catalina.LazyStopWebappClassLoader;
+import org.apache.tomee.catalina.TomEEWebappClassLoader;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -52,7 +52,7 @@ import static org.junit.Assert.assertSam
public class ReloadingLoaderTest {
private AppInfo info;
private AppContext context;
- private LazyStopWebappClassLoader loader;
+ private TomEEWebappClassLoader loader;
@BeforeClass
@AfterClass
@@ -76,7 +76,7 @@ public class ReloadingLoaderTest {
}
});
- loader = new LazyStopWebappClassLoader(ParentClassLoaderFinder.Helper.get());
+ loader = new TomEEWebappClassLoader(ParentClassLoaderFinder.Helper.get());
loader.init();
loader.start();
Modified: tomee/tomee/trunk/tomee/tomee-juli/pom.xml
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-juli/pom.xml?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-juli/pom.xml (original)
+++ tomee/tomee/trunk/tomee/tomee-juli/pom.xml Thu Jul 24 22:40:36 2014
@@ -72,9 +72,6 @@
<filters>
<filter>
<artifact>org.apache.tomcat:tomcat-juli</artifact>
- <excludes>
- <exclude>org/apache/juli/logging/LogFactory.class</exclude>
- </excludes>
</filter>
</filters>
</configuration>
Modified: tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/AsyncConsoleHandler.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/AsyncConsoleHandler.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/AsyncConsoleHandler.java (original)
+++ tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/AsyncConsoleHandler.java Thu Jul 24 22:40:36 2014
@@ -18,13 +18,45 @@ package org.apache.tomee.jul.formatter;
import org.apache.juli.AsyncFileHandler;
+import java.io.PrintWriter;
+import java.io.StringWriter;
import java.util.logging.ConsoleHandler;
+import java.util.logging.Formatter;
import java.util.logging.LogRecord;
public class AsyncConsoleHandler extends AsyncFileHandler {
- private final ConsoleHandler delegate = new ConsoleHandler();
+ private final ConsoleHandler delegate = new ConsoleHandler() {{
+ setFormatter(new SingleLineFormatter()); // console -> dev. File uses plain old format
+ }};
protected void publishInternal(final LogRecord record) {
delegate.publish(record);
}
+
+ // copy cause of classloading
+ private static class SingleLineFormatter extends Formatter {
+ private static final String SEP = System.getProperty("line.separator", "\n");
+
+ @Override
+ public synchronized String format(final LogRecord record) {
+ final boolean exception = record.getThrown() != null;
+ final StringBuilder sbuf = new StringBuilder();
+ sbuf.append(record.getLevel().getLocalizedName());
+ sbuf.append(" - ");
+ sbuf.append(this.formatMessage(record));
+ sbuf.append(SEP);
+ if (exception) {
+ try {
+ final StringWriter sw = new StringWriter();
+ final PrintWriter pw = new PrintWriter(sw);
+ record.getThrown().printStackTrace(pw);
+ pw.close();
+ sbuf.append(sw.toString());
+ } catch (final Exception ex) {
+ // no-op
+ }
+ }
+ return sbuf.toString();
+ }
+ }
}
Added: tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/JULLogger.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/JULLogger.java?rev=1613316&view=auto
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/JULLogger.java (added)
+++ tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/JULLogger.java Thu Jul 24 22:40:36 2014
@@ -0,0 +1,179 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomee.jul.formatter.log;
+
+import org.apache.juli.logging.Log;
+
+import java.util.logging.ConsoleHandler;
+import java.util.logging.Formatter;
+import java.util.logging.Handler;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+// DirectJDKLog copy since it is now package scoped
+public class JULLogger implements Log {
+ /** Alternate config reader and console format
+ */
+ private static final String SIMPLE_FMT="java.util.logging.SimpleFormatter";
+ private static final String SIMPLE_CFG="org.apache.juli.JdkLoggerConfig"; //doesn't exist
+ private static final String FORMATTER="org.apache.juli.formatter";
+
+ static {
+ if( System.getProperty("java.util.logging.config.class") == null &&
+ System.getProperty("java.util.logging.config.file") == null ) {
+ // default configuration - it sucks. Let's override at least the
+ // formatter for the console
+ try {
+ Class.forName(SIMPLE_CFG).newInstance();
+ } catch( Throwable t ) {
+ }
+ try {
+ Formatter fmt=(Formatter)Class.forName(System.getProperty(FORMATTER, SIMPLE_FMT)).newInstance();
+ // it is also possible that the user modified jre/lib/logging.properties -
+ // but that's really stupid in most cases
+ Logger root=Logger.getLogger("");
+ Handler handlers[]=root.getHandlers();
+ for( int i=0; i< handlers.length; i++ ) {
+ // I only care about console - that's what's used in default config anyway
+ if( handlers[i] instanceof ConsoleHandler) {
+ handlers[i].setFormatter(fmt);
+ }
+ }
+ } catch( Throwable t ) {
+ // maybe it wasn't included - the ugly default will be used.
+ }
+
+ }
+ }
+
+ private final Logger logger;
+
+ public JULLogger(final String name ) {
+ logger= Logger.getLogger(name);
+ }
+
+ @Override
+ public final boolean isErrorEnabled() {
+ return logger.isLoggable(Level.SEVERE);
+ }
+
+ @Override
+ public final boolean isWarnEnabled() {
+ return logger.isLoggable(Level.WARNING);
+ }
+
+ @Override
+ public final boolean isInfoEnabled() {
+ return logger.isLoggable(Level.INFO);
+ }
+
+ @Override
+ public final boolean isDebugEnabled() {
+ return logger.isLoggable(Level.FINE);
+ }
+
+ @Override
+ public final boolean isFatalEnabled() {
+ return logger.isLoggable(Level.SEVERE);
+ }
+
+ @Override
+ public final boolean isTraceEnabled() {
+ return logger.isLoggable(Level.FINER);
+ }
+
+ @Override
+ public final void debug(Object message) {
+ log(Level.FINE, String.valueOf(message), null);
+ }
+
+ @Override
+ public final void debug(Object message, Throwable t) {
+ log(Level.FINE, String.valueOf(message), t);
+ }
+
+ @Override
+ public final void trace(Object message) {
+ log(Level.FINER, String.valueOf(message), null);
+ }
+
+ @Override
+ public final void trace(Object message, Throwable t) {
+ log(Level.FINER, String.valueOf(message), t);
+ }
+
+ @Override
+ public final void info(Object message) {
+ log(Level.INFO, String.valueOf(message), null);
+ }
+
+ @Override
+ public final void info(Object message, Throwable t) {
+ log(Level.INFO, String.valueOf(message), t);
+ }
+
+ @Override
+ public final void warn(Object message) {
+ log(Level.WARNING, String.valueOf(message), null);
+ }
+
+ @Override
+ public final void warn(Object message, Throwable t) {
+ log(Level.WARNING, String.valueOf(message), t);
+ }
+
+ @Override
+ public final void error(Object message) {
+ log(Level.SEVERE, String.valueOf(message), null);
+ }
+
+ @Override
+ public final void error(Object message, Throwable t) {
+ log(Level.SEVERE, String.valueOf(message), t);
+ }
+
+ @Override
+ public final void fatal(Object message) {
+ log(Level.SEVERE, String.valueOf(message), null);
+ }
+
+ @Override
+ public final void fatal(Object message, Throwable t) {
+ log(Level.SEVERE, String.valueOf(message), t);
+ }
+
+ private void log(Level level, String msg, Throwable ex) {
+ if (logger.isLoggable(level)) {
+ // Hack (?) to get the stack trace.
+ Throwable dummyException=new Throwable();
+ StackTraceElement locations[]=dummyException.getStackTrace();
+ // Caller will be the third element
+ String cname = "unknown";
+ String method = "unknown";
+ if (locations != null && locations.length > 3) {
+ StackTraceElement caller = locations[3];
+ cname = caller.getClassName();
+ method = caller.getMethodName();
+ }
+ if (ex==null) {
+ logger.logp(level, cname, method, msg);
+ } else {
+ logger.logp(level, cname, method, msg, ex);
+ }
+ }
+ }
+}
Added: tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/LoggerFactory.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/LoggerFactory.java?rev=1613316&view=auto
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/LoggerFactory.java (added)
+++ tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/LoggerFactory.java Thu Jul 24 22:40:36 2014
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomee.jul.formatter.log;
+
+import org.apache.juli.logging.Log;
+
+public interface LoggerFactory {
+ Log newInstance(String name);
+}
Added: tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/NoopLogger.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/NoopLogger.java?rev=1613316&view=auto
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/NoopLogger.java (added)
+++ tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/NoopLogger.java Thu Jul 24 22:40:36 2014
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomee.jul.formatter.log;
+
+import org.apache.juli.logging.Log;
+
+public class NoopLogger implements Log {
+ public static final NoopLogger INSTANCE = new NoopLogger();
+
+ private NoopLogger() {
+ // no-op
+ }
+
+ @Override
+ public boolean isDebugEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isErrorEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isFatalEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isInfoEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isTraceEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isWarnEnabled() {
+ return false;
+ }
+
+ @Override
+ public void trace(final Object message) {
+ // no-op
+ }
+
+ @Override
+ public void trace(final Object message, final Throwable t) {
+ // no-op
+ }
+
+ @Override
+ public void debug(final Object message) {
+ // no-op
+ }
+
+ @Override
+ public void debug(final Object message, final Throwable t) {
+ // no-op
+ }
+
+ @Override
+ public void info(final Object message) {
+ // no-op
+ }
+
+ @Override
+ public void info(final Object message, final Throwable t) {
+ // no-op
+ }
+
+ @Override
+ public void warn(final Object message) {
+ // no-op
+ }
+
+ @Override
+ public void warn(final Object message, final Throwable t) {
+ // no-op
+ }
+
+ @Override
+ public void error(final Object message) {
+ // no-op
+ }
+
+ @Override
+ public void error(final Object message, final Throwable t) {
+ // no-op
+ }
+
+ @Override
+ public void fatal(final Object message) {
+ // no-op
+ }
+
+ @Override
+ public void fatal(final Object message, final Throwable t) {
+ // no-op
+ }
+}
Added: tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/ReloadableLog.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/ReloadableLog.java?rev=1613316&view=auto
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/ReloadableLog.java (added)
+++ tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/ReloadableLog.java Thu Jul 24 22:40:36 2014
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomee.jul.formatter.log;
+
+import org.apache.juli.logging.Log;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.util.concurrent.atomic.AtomicReference;
+
+public class ReloadableLog {
+
+ public static final Class<?>[] INTERFACES = new Class<?>[]{Log.class};
+
+ private ReloadableLog() {
+ // no-op
+ }
+
+ public static Log newLog(final String name, final String factory) {
+ return Log.class.cast(Proxy.newProxyInstance(
+ ReloadableLog.class.getClassLoader(), INTERFACES, new ReloadableLogHandler(factory, name)));
+ }
+
+ private static class ReloadableLogHandler implements InvocationHandler {
+ private static final String LOG4J_IMPL = "org.apache.tomee.loader.log.Log4jLog";
+ private static final String SLF4J_IMPL = "org.apache.tomee.loader.log.Slf4jLog";
+
+ private final String factory;
+ private final String name;
+ private final AtomicReference<Log> delegate = new AtomicReference<>();
+ private volatile boolean done = false;
+
+ public ReloadableLogHandler(final String factory, final String name) {
+ this.factory = factory;
+ this.name = name;
+ initDelegate();
+ }
+
+ private Log initDelegate() {
+ if (done) {
+ return delegate.get();
+ }
+
+ try {
+ switch (factory) {
+ case "org.apache.openejb.util.Log4jLogStreamFactory":
+ delegate.set(newInstance(LOG4J_IMPL)); break;
+ case "org.apache.openejb.util.Slf4jLogStreamFactory":
+ delegate.set(newInstance(SLF4J_IMPL));
+ break;
+ default:
+ delegate.set(new JULLogger(name));
+ }
+ done = true;
+ } catch (final Throwable the) {
+ if (delegate.get() == null) {
+ delegate.set(new JULLogger(name));
+ }
+ }
+ return delegate.get();
+ }
+
+ private Log newInstance(final String impl) throws InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException, ClassNotFoundException {
+ return Log.class.cast(Thread.currentThread()
+ .getContextClassLoader()
+ .loadClass(impl)
+ .getConstructor(String.class)
+ .newInstance(name));
+ }
+
+ @Override
+ public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
+ try {
+ return method.invoke(initDelegate(), args);
+ } catch (final InvocationTargetException ite) {
+ throw ite.getCause();
+ }
+ }
+ }
+}
Added: tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/TomEELog.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/TomEELog.java?rev=1613316&view=auto
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/TomEELog.java (added)
+++ tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/TomEELog.java Thu Jul 24 22:40:36 2014
@@ -0,0 +1,160 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomee.jul.formatter.log;
+
+import org.apache.juli.logging.Log;
+
+import java.lang.reflect.Method;
+
+public class TomEELog implements Log {
+ private static volatile boolean initialized = false;
+ private static volatile String loggerClazz;
+ private static volatile boolean defaultLogger;
+
+ private static synchronized void initialize() {
+ if (initialized) {
+ return;
+ }
+
+ if (!Boolean.getBoolean("tomee.skip-tomcat-log")) {
+ final Thread thread = Thread.currentThread();
+ try {
+ final ClassLoader tccl = thread.getContextClassLoader();
+ final Class<?> logger = tccl.loadClass("org.apache.openejb.util.Logger");
+ final Method m = logger.getDeclaredMethod("delegateClass");
+ loggerClazz = (String) m.invoke(null);
+ switch (loggerClazz) {
+ case "org.apache.openejb.util.Log4jLogStreamFactory":
+ defaultLogger = false;
+ initialized = true;
+ return;
+ case "org.apache.openejb.util.Slf4jLogStreamFactory":
+ defaultLogger = false;
+ initialized = true;
+ return;
+ default:
+ defaultLogger = true;
+ initialized = true;
+ return;
+ }
+ } catch (final Throwable th) {
+ // no-op
+ }
+ }
+ }
+
+ private final Log delegate;
+
+ public TomEELog() { // for ServiceLoader
+ delegate = null;
+ }
+
+ public TomEELog(final String name) {
+ initialize();
+ this.delegate = defaultLogger ? new JULLogger(name) : ReloadableLog.newLog(name, loggerClazz);
+ }
+
+ @Override
+ public boolean isDebugEnabled() {
+ return delegate.isDebugEnabled();
+ }
+
+ @Override
+ public boolean isErrorEnabled() {
+ return delegate.isErrorEnabled();
+ }
+
+ @Override
+ public boolean isFatalEnabled() {
+ return delegate.isFatalEnabled();
+ }
+
+ @Override
+ public boolean isInfoEnabled() {
+ return delegate.isInfoEnabled();
+ }
+
+ @Override
+ public boolean isTraceEnabled() {
+ return delegate.isTraceEnabled();
+ }
+
+ @Override
+ public boolean isWarnEnabled() {
+ return delegate.isWarnEnabled();
+ }
+
+ @Override
+ public void trace(final Object message) {
+ delegate.trace(message);
+ }
+
+ @Override
+ public void trace(final Object message, final Throwable t) {
+ delegate.trace(message, t);
+ }
+
+ @Override
+ public void debug(final Object message) {
+ delegate.debug(message);
+ }
+
+ @Override
+ public void debug(final Object message, final Throwable t) {
+ delegate.debug(message, t);
+ }
+
+ @Override
+ public void info(final Object message) {
+ delegate.info(message);
+ }
+
+ @Override
+ public void info(final Object message, final Throwable t) {
+ delegate.info(message, t);
+ }
+
+ @Override
+ public void warn(final Object message) {
+ delegate.warn(message);
+ }
+
+ @Override
+ public void warn(final Object message, final Throwable t) {
+ delegate.warn(message, t);
+ }
+
+ @Override
+ public void error(final Object message) {
+ delegate.error(message);
+ }
+
+ @Override
+ public void error(final Object message, final Throwable t) {
+ delegate.error(message, t);
+ }
+
+ @Override
+ public void fatal(final Object message) {
+ delegate.fatal(message);
+ }
+
+ @Override
+ public void fatal(final Object message, final Throwable t) {
+ delegate.fatal(message, t);
+ }
+}
Added: tomee/tomee/trunk/tomee/tomee-juli/src/main/resources/META-INF/services/org.apache.juli.logging.Log
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-juli/src/main/resources/META-INF/services/org.apache.juli.logging.Log?rev=1613316&view=auto
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-juli/src/main/resources/META-INF/services/org.apache.juli.logging.Log (added)
+++ tomee/tomee/trunk/tomee/tomee-juli/src/main/resources/META-INF/services/org.apache.juli.logging.Log Thu Jul 24 22:40:36 2014
@@ -0,0 +1 @@
+org.apache.tomee.jul.formatter.log.TomEELog
Modified: tomee/tomee/trunk/tomee/tomee-loader/pom.xml
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-loader/pom.xml?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-loader/pom.xml (original)
+++ tomee/tomee/trunk/tomee/tomee-loader/pom.xml Thu Jul 24 22:40:36 2014
@@ -42,18 +42,6 @@
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<scope>provided</scope>
- <exclusions>
- <exclusion>
- <groupId>org.apache.tomcat</groupId>
- <artifactId>tomcat-juli</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.openejb</groupId>
- <artifactId>tomee-juli</artifactId>
- <version>${project.version}</version>
- <scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.openejb</groupId>
Modified: tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java?rev=1613316&r1=1613315&r2=1613316&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java (original)
+++ tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/OpenEJBListener.java Thu Jul 24 22:40:36 2014
@@ -26,7 +26,6 @@ import org.apache.catalina.core.Standard
import org.apache.catalina.core.StandardEngine;
import org.apache.catalina.core.StandardHost;
import org.apache.catalina.core.StandardServer;
-import org.apache.tomee.TomEELogConfigurer;
import java.io.BufferedOutputStream;
import java.io.File;
@@ -91,7 +90,6 @@ public class OpenEJBListener implements
properties.setProperty("openejb.embedder.source", OpenEJBListener.class.getSimpleName());
TomcatEmbedder.embed(properties, StandardServer.class.getClassLoader());
listenerInstalled = true;
- TomEELogConfigurer.configureLogs();
} else if (logWebappNotFound) {
LOGGER.info("tomee webapp not found from the listener, will try from the webapp if exists");
logWebappNotFound = false;