Repository: tomee Updated Branches: refs/heads/master fadfbaa9f -> fee207c52
TOMEE-1660 allow to control web resource caching in tomee embedded Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/fee207c5 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/fee207c5 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/fee207c5 Branch: refs/heads/master Commit: fee207c522d5f85d24fdcbb5fac00ce799206728 Parents: fadfbaa Author: Romain Manni-Bucau <[email protected]> Authored: Tue Nov 17 22:10:35 2015 -0800 Committer: Romain Manni-Bucau <[email protected]> Committed: Tue Nov 17 22:10:35 2015 -0800 ---------------------------------------------------------------------- .../arquillian/embedded/EmbeddedTomEEConfiguration.java | 9 +++++++++ .../arquillian/embedded/EmbeddedTomEEContainer.java | 2 ++ .../apache/openejb/maven/plugins/TomEEEmbeddedMojo.java | 3 +++ .../org/apache/tomee/catalina/TomEEWebappClassLoader.java | 2 +- .../java/org/apache/tomee/embedded/Configuration.java | 10 ++++++++++ .../embedded/internal/StandardContextCustomizer.java | 4 +++- 6 files changed, 28 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/fee207c5/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEConfiguration.java ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEConfiguration.java b/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEConfiguration.java index d09a85f..0d18097 100644 --- a/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEConfiguration.java +++ b/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEConfiguration.java @@ -44,6 +44,15 @@ public class EmbeddedTomEEConfiguration extends TomEEConfiguration { private String sslProtocol; private String users; private String roles; + private boolean webResourcesCached = true; + + public boolean isWebResourcesCached() { + return webResourcesCached; + } + + public void setWebResourcesCached(final boolean webResourcesCached) { + this.webResourcesCached = webResourcesCached; + } public boolean isWithEjbRemote() { return withEjbRemote; http://git-wip-us.apache.org/repos/asf/tomee/blob/fee207c5/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java b/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java index e19ae3b..6f30b11 100644 --- a/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java +++ b/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java @@ -98,6 +98,8 @@ public class EmbeddedTomEEContainer extends TomEEContainer<EmbeddedTomEEConfigur configuration.setSslProtocol(tomeeConfiguration.getSslProtocol()); configuration.setWithEjbRemote(tomeeConfiguration.isWithEjbRemote()); + configuration.setWebResourceCached(tomeeConfiguration.isWebResourcesCached()); + if (tomeeConfiguration.getRoles() != null) { configuration.setRoles(new HashMap<String, String>(Map.class.cast(tomeeConfiguration.getRolesAsProperties()))); } http://git-wip-us.apache.org/repos/asf/tomee/blob/fee207c5/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java ---------------------------------------------------------------------- diff --git a/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java b/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java index f688854..346ce1e 100644 --- a/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java +++ b/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java @@ -126,6 +126,9 @@ public class TomEEEmbeddedMojo extends AbstractMojo { @Parameter(property = "tomee-embedded-plugin.useProjectClasspath", defaultValue = "true") protected boolean useProjectClasspath; + @Parameter(property = "tomee-embedded-plugin.webResourceCached", defaultValue = "true") + protected boolean webResourceCached; + @Parameter(property = "tomee-embedded-plugin.modules", defaultValue = "${project.build.outputDirectory}") protected List<File> modules; http://git-wip-us.apache.org/repos/asf/tomee/blob/fee207c5/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java ---------------------------------------------------------------------- diff --git a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java index 17fd006..6fb2890 100644 --- a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java +++ b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java @@ -345,7 +345,7 @@ public class TomEEWebappClassLoader extends ParallelWebappClassLoader { // mainly for tomee-maven-plugin initAdditionalRepos(); - if (additionalRepos != null) { + if (additionalRepos != null && !additionalRepos.isEmpty()) { for (final File f : additionalRepos) { final DirResourceSet webResourceSet = new PremptiveDirResourceSet(resources, "/", f.getAbsolutePath(), "/"); resources.addPreResources(webResourceSet); http://git-wip-us.apache.org/repos/asf/tomee/blob/fee207c5/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java ---------------------------------------------------------------------- diff --git a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java index fc40b03..3b2b754 100644 --- a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java +++ b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java @@ -67,6 +67,8 @@ public class Configuration { */ private String tempDir = new File(System.getProperty("java.io.tmpdir"), "tomee-embedded_" + System.currentTimeMillis()).getAbsolutePath(); + private boolean webResourceCached = true; + public int getHttpPort() { return httpPort; } @@ -333,4 +335,12 @@ public class Configuration { this.realm = realm; return this; } + + public boolean areWebResourcesCached() { + return webResourceCached; + } + + public void setWebResourceCached(boolean cached) { + this.webResourceCached = cached; + } } http://git-wip-us.apache.org/repos/asf/tomee/blob/fee207c5/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java ---------------------------------------------------------------------- diff --git a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java index bc22a5a..eb68b36 100644 --- a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java +++ b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java @@ -63,7 +63,9 @@ public class StandardContextCustomizer { switch (event.getType()) { case Lifecycle.BEFORE_START_EVENT: - final WebResourceRoot resources = new StandardRoot(context); + final StandardRoot resources = new StandardRoot(context); + resources.setCachingAllowed(config.areWebResourcesCached()); + context.setResources(resources); if (!module.getProperties().containsKey("fakeJarLocation")) { context.setDocBase(module.getJarLocation());
