[GUMP@vmgump]: Project tomcat-taglibs-standard (in module tomcat-taglibs) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-taglibs-standard has an issue affecting its community integration. This issue affects 2 projects, and has been outstanding for 99 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-taglibs-standard : Standard Taglib - tomcat-taglibs-standard-install : JSP Taglibs Full details are available at: http://vmgump.apache.org/gump/public/tomcat-taglibs/tomcat-taglibs-standard/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -INFO- Optional dependency httpunit failed with reason build failed -DEBUG- (Apache Gump generated) Apache Maven Settings in: /srv/gump/public/workspace/tomcat-taglibs/standard/gump_mvn_settings.xml -INFO- Failed with reason build failed -DEBUG- Maven POM in: /srv/gump/public/workspace/tomcat-taglibs/standard/pom.xml -INFO- Failed to extract fallback artifacts from Gump Repository The following work was performed: http://vmgump.apache.org/gump/public/tomcat-taglibs/tomcat-taglibs-standard/gump_work/build_tomcat-taglibs_tomcat-taglibs-standard.html Work Name: build_tomcat-taglibs_tomcat-taglibs-standard (Type: Build) Work ended in a state of : Failed Elapsed: 21 secs Command Line: /opt/maven2/bin/mvn --batch-mode -DskipTests=true --settings /srv/gump/public/workspace/tomcat-taglibs/standard/gump_mvn_settings.xml install [Working Directory: /srv/gump/public/workspace/tomcat-taglibs/standard] M2_HOME: /opt/maven2 - [INFO] [compiler:compile {execution: default-compile}] [INFO] Nothing to compile - all classes are up to date [debug] execute contextualize [INFO] [resources:testResources {execution: default-testResources}] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /srv/gump/public/workspace/tomcat-taglibs/standard/spec/src/test/resources [INFO] Copying 3 resources [INFO] [compiler:testCompile {execution: default-testCompile}] [INFO] No sources to compile [INFO] [surefire:test {execution: default-test}] [INFO] Tests are skipped. [INFO] [bundle:bundle {execution: default-bundle}] [INFO] [install:install {execution: default-install}] [INFO] Installing /srv/gump/public/workspace/tomcat-taglibs/standard/spec/target/taglibs-standard-spec-1.2-SNAPSHOT.jar to /srv/gump/public/workspace/mvnlocalrepo/shared/org/apache/taglibs/taglibs-standard-spec/1.2-SNAPSHOT/taglibs-standard-spec-1.2-SNAPSHOT.jar [INFO] [bundle:install {execution: default-install}] [INFO] Parsing file:/srv/gump/public/workspace/mvnlocalrepo/shared/repository.xml [INFO] Installing org/apache/taglibs/taglibs-standard-spec/1.2-SNAPSHOT/taglibs-standard-spec-1.2-SNAPSHOT.jar [INFO] Writing OBR metadata [INFO] [INFO] Building JSTL Implementation [INFO]task-segment: [install] [INFO] [INFO] [remote-resources:process {execution: default}] [INFO] snapshot org.apache.taglibs:taglibs-standard-spec:1.2-SNAPSHOT: checking for updates from apache.snapshots [debug] execute contextualize [INFO] [resources:resources {execution: default-resources}] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 14 resources [INFO] Copying 3 resources [INFO] [compiler:compile {execution: default-compile}] [INFO] Compiling 96 source files to /srv/gump/public/workspace/tomcat-taglibs/standard/impl/target/classes [INFO] - [ERROR] COMPILATION ERROR : [INFO] - [ERROR] /srv/gump/public/workspace/tomcat-taglibs/standard/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java:[38,7] error: DataSourceWrapper is not abstract and does not override abstract method getParentLogger() in CommonDataSource [INFO] 1 error [INFO] - [INFO] [ERROR] BUILD FAILURE [INFO] [INFO] Compilation failure /srv/gump/public/workspace/tomcat-taglibs/standard/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java:[38,7] error: DataSourceWrapper is not abstract and does not override abstract method getParentLogger() in CommonDataSource [INFO] [INFO] For more information, run Maven with the -e switch [INFO]
svn commit: r1390882 - in /tomcat/trunk/java/org/apache/catalina: Context.java core/StandardWrapperValve.java manager/HTMLManagerServlet.java manager/ManagerServlet.java
Author: markt Date: Thu Sep 27 08:20:12 2012 New Revision: 1390882 URL: http://svn.apache.org/viewvc?rev=1390882view=rev Log: Deprecate unnecessary code Modified: tomcat/trunk/java/org/apache/catalina/Context.java tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java Modified: tomcat/trunk/java/org/apache/catalina/Context.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Context.java?rev=1390882r1=1390881r2=1390882view=diff == --- tomcat/trunk/java/org/apache/catalina/Context.java (original) +++ tomcat/trunk/java/org/apache/catalina/Context.java Thu Sep 27 08:20:12 2012 @@ -151,7 +151,12 @@ public interface Context extends Contain /** * Return the application available flag for this Context. + * + * @deprecated This will be removed in Tomcat 8.0.x onwards. Use + * {@link #getState()}.{@link LifecycleState#isAvailable() + * isAvailable()} instead */ +@Deprecated public boolean getAvailable(); Modified: tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java?rev=1390882r1=1390881r2=1390882view=diff == --- tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java Thu Sep 27 08:20:12 2012 @@ -107,7 +107,7 @@ final class StandardWrapperValve Context context = (Context) wrapper.getParent(); // Check for the application being marked unavailable -if (!context.getAvailable()) { +if (!context.getState().isAvailable()) { response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE, sm.getString(standardContext.isUnavailable)); unavailable = true; @@ -359,7 +359,8 @@ final class StandardWrapperValve Context context = (Context) wrapper.getParent(); // Check for the application being marked unavailable -boolean unavailable = !context.getAvailable() || wrapper.isUnavailable(); +boolean unavailable = !context.getState().isAvailable() || +wrapper.isUnavailable(); // Allocate a servlet instance to process this request try { Modified: tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java?rev=1390882r1=1390881r2=1390882view=diff == --- tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java (original) +++ tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java Thu Sep 27 08:20:12 2012 @@ -510,7 +510,7 @@ public final class HTMLManagerServlet ex } else { args[2] = RequestUtil.filter(ctxt.getDisplayName()); } -args[3] = Boolean.valueOf(ctxt.getAvailable()); +args[3] = Boolean.valueOf(ctxt.getState().isAvailable()); args[4] = RequestUtil.filter(response.encodeURL(request.getContextPath() + /html/sessions? + pathVersion)); Manager manager = ctxt.getManager(); @@ -559,13 +559,13 @@ public final class HTMLManagerServlet ex if (ctxt.getName().equals(this.context.getName())) { writer.print(MessageFormat.format( MANAGER_APP_ROW_BUTTON_SECTION, args)); -} else if (ctxt.getAvailable() isDeployed) { +} else if (ctxt.getState().isAvailable() isDeployed) { writer.print(MessageFormat.format( STARTED_DEPLOYED_APPS_ROW_BUTTON_SECTION, args)); -} else if (ctxt.getAvailable() !isDeployed) { +} else if (ctxt.getState().isAvailable() !isDeployed) { writer.print(MessageFormat.format( STARTED_NONDEPLOYED_APPS_ROW_BUTTON_SECTION, args)); -} else if (!ctxt.getAvailable() isDeployed) { +} else if (!ctxt.getState().isAvailable() isDeployed) { writer.print(MessageFormat.format( STOPPED_DEPLOYED_APPS_ROW_BUTTON_SECTION, args)); } else { Modified: tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java?rev=1390882r1=1390881r2=1390882view=diff
svn commit: r1390884 - in /tomcat/trunk/java/org/apache/catalina: Context.java core/StandardContext.java startup/FailedContext.java
Author: markt Date: Thu Sep 27 08:22:56 2012 New Revision: 1390884 URL: http://svn.apache.org/viewvc?rev=1390884view=rev Log: Remove deprecated code Modified: tomcat/trunk/java/org/apache/catalina/Context.java tomcat/trunk/java/org/apache/catalina/core/StandardContext.java tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java Modified: tomcat/trunk/java/org/apache/catalina/Context.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Context.java?rev=1390884r1=1390883r2=1390884view=diff == --- tomcat/trunk/java/org/apache/catalina/Context.java (original) +++ tomcat/trunk/java/org/apache/catalina/Context.java Thu Sep 27 08:22:56 2012 @@ -150,17 +150,6 @@ public interface Context extends Contain /** - * Return the application available flag for this Context. - * - * @deprecated This will be removed in Tomcat 8.0.x onwards. Use - * {@link #getState()}.{@link LifecycleState#isAvailable() - * isAvailable()} instead - */ -@Deprecated -public boolean getAvailable(); - - -/** * Obtain the character set name to use with the given Locale. Note that * different Contexts may have different mappings of Locale to character * set. Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1390884r1=1390883r2=1390884view=diff == --- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Thu Sep 27 08:22:56 2012 @@ -1398,18 +1398,6 @@ public class StandardContext extends Con /** - * Return the application available flag for this Context. - */ -@Override -public boolean getAvailable() { - -// TODO Remove this method entirely -return getState().isAvailable(); - -} - - -/** * Return the Locale to character set mapper for this Context. */ public CharsetMapper getCharsetMapper() { Modified: tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java?rev=1390884r1=1390883r2=1390884view=diff == --- tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java Thu Sep 27 08:22:56 2012 @@ -312,9 +312,6 @@ public class FailedContext extends Lifec public void setApplicationLifecycleListeners(Object[] listeners) { /* NO-OP */ } @Override -public boolean getAvailable() { return false; } - -@Override public String getCharset(Locale locale) { return null; } @Override - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1390886 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/Context.java java/org/apache/catalina/core/StandardWrapperValve.java java/org/apache/catalina/manager/HTMLManagerServlet.ja
Author: markt Date: Thu Sep 27 08:24:49 2012 New Revision: 1390886 URL: http://svn.apache.org/viewvc?rev=1390886view=rev Log: Deprecate unnecessary code Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1390882 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java?rev=1390886r1=1390885r2=1390886view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java Thu Sep 27 08:24:49 2012 @@ -164,7 +164,12 @@ public interface Context extends Contain /** * Return the application available flag for this Context. + * + * @deprecated This will be removed in Tomcat 8.0.x onwards. Use + * {@link #getState()}.{@link LifecycleState#isAvailable() + * isAvailable()} instead */ +@Deprecated public boolean getAvailable(); Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java?rev=1390886r1=1390885r2=1390886view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java Thu Sep 27 08:24:49 2012 @@ -106,7 +106,7 @@ final class StandardWrapperValve Context context = (Context) wrapper.getParent(); // Check for the application being marked unavailable -if (!context.getAvailable()) { +if (!context.getState().isAvailable()) { response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE, sm.getString(standardContext.isUnavailable)); unavailable = true; @@ -358,7 +358,8 @@ final class StandardWrapperValve Context context = (Context) wrapper.getParent(); // Check for the application being marked unavailable -boolean unavailable = !context.getAvailable() || wrapper.isUnavailable(); +boolean unavailable = !context.getState().isAvailable() || +wrapper.isUnavailable(); // Allocate a servlet instance to process this request try { Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java?rev=1390886r1=1390885r2=1390886view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java Thu Sep 27 08:24:49 2012 @@ -504,7 +504,7 @@ public final class HTMLManagerServlet ex } else { args[2] = RequestUtil.filter(ctxt.getDisplayName()); } -args[3] = Boolean.valueOf(ctxt.getAvailable()); +args[3] = Boolean.valueOf(ctxt.getState().isAvailable()); args[4] = RequestUtil.filter(response.encodeURL(request.getContextPath() + /html/sessions? + pathVersion)); Manager manager = ctxt.getManager(); @@ -553,13 +553,13 @@ public final class HTMLManagerServlet ex if (ctxt.getName().equals(this.context.getName())) { writer.print(MessageFormat.format( MANAGER_APP_ROW_BUTTON_SECTION, args)); -} else if (ctxt.getAvailable() isDeployed) { +} else if (ctxt.getState().isAvailable() isDeployed) { writer.print(MessageFormat.format( STARTED_DEPLOYED_APPS_ROW_BUTTON_SECTION, args)); -} else if (ctxt.getAvailable() !isDeployed) { +} else if (ctxt.getState().isAvailable() !isDeployed) { writer.print(MessageFormat.format( STARTED_NONDEPLOYED_APPS_ROW_BUTTON_SECTION, args)); -} else if (!ctxt.getAvailable() isDeployed) { +} else if (!ctxt.getState().isAvailable() isDeployed) { writer.print(MessageFormat.format(
svn commit: r1390889 - in /tomcat/sandbox/trunk-resources: java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/webresources/ test/org/apache/catalina/webresources/
Author: markt Date: Thu Sep 27 08:37:42 2012 New Revision: 1390889 URL: http://svn.apache.org/viewvc?rev=1390889view=rev Log: Make cacher TTL configurable Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TesterWebResourceRoot.java Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java?rev=1390889r1=1390888r2=1390889view=diff == --- tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java (original) +++ tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java Thu Sep 27 08:37:42 2012 @@ -238,6 +238,20 @@ public interface WebResourceRoot extends */ boolean getAllowLinking(); +/** + * Set the Time-To-Live (TTL) for cache entries. + * + * @param ttl TTL in milliseconds + */ +void setCacheTtl(long ttl); + +/** + * Get the Time-To-Live (TTL) for cache entries. + * + * @return TTL in milliseconds + */ +long getCacheTtl(); + public static enum ResourceSetType { PRE, RESOURCE_JAR, Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java?rev=1390889r1=1390888r2=1390889view=diff == --- tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java Thu Sep 27 08:37:42 2012 @@ -4786,10 +4786,11 @@ public class StandardContext extends Con resources.setAllowLinking(isAllowLinking()); resources.start(); -// TODO: Implement caching. Is it necessary? +resources.setCacheTtl(getCacheTTL()); +// TODO: Implement caching. // isCachingAllowed() -// getCacheTTL() // getCacheMaxSize() +// getCacheMaxObjectSize() if (effectiveMajorVersion =3 addWebinfClassesResources) { WebResource webinfClassesResource = resources.getResource( Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java?rev=1390889r1=1390888r2=1390889view=diff == --- tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java (original) +++ tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java Thu Sep 27 08:37:42 2012 @@ -25,6 +25,8 @@ public class Cache { private final StandardRoot root; +private long ttl = 5000; + private ConcurrentMapString,CachedResource resourceCache = new ConcurrentHashMap(); @@ -36,7 +38,7 @@ public class Cache { // Multiple concurrent callers will end up with the same CachedResource // instance // TODO Config for TTL -CachedResource newCacheEntry = new CachedResource(root, path, 5000); +CachedResource newCacheEntry = new CachedResource(root, path, ttl); CachedResource result = resourceCache.putIfAbsent(path, newCacheEntry); @@ -52,4 +54,14 @@ public class Cache { } // TODO add background expiration + + + +public long getTtl() { +return ttl; +} + +public void setTtl(long ttl) { +this.ttl = ttl; +} } Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java?rev=1390889r1=1390888r2=1390889view=diff == --- tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java (original) +++ tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java Thu Sep 27 08:37:42 2012 @@ -295,6 +295,14 @@ public class StandardRoot extends Lifecy return allowLinking; } +public long getCacheTtl() { +return cache.getTtl(); +} + +public void setCacheTtl(long cacheTtl) { +cache.setTtl(cacheTtl); +} + @Override public Context getContext() {
svn commit: r1390899 - in /tomcat/sandbox/trunk-resources: java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/webresources/ test/org/apache/catalina/webresources/
Author: markt Date: Thu Sep 27 08:57:58 2012 New Revision: 1390899 URL: http://svn.apache.org/viewvc?rev=1390899view=rev Log: Make cachingAllowed configurable Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TesterWebResourceRoot.java Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java?rev=1390899r1=1390898r2=1390899view=diff == --- tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java (original) +++ tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java Thu Sep 27 08:57:58 2012 @@ -238,6 +238,9 @@ public interface WebResourceRoot extends */ boolean getAllowLinking(); +void setCachingAllowed(boolean cachingAllowed); +boolean isCachingAllowed(); + /** * Set the Time-To-Live (TTL) for cache entries. * Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java?rev=1390899r1=1390898r2=1390899view=diff == --- tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java Thu Sep 27 08:57:58 2012 @@ -4784,11 +4784,13 @@ public class StandardContext extends Con boolean ok = true; resources.setAllowLinking(isAllowLinking()); -resources.start(); resources.setCacheTtl(getCacheTTL()); +resources.setCachingAllowed(isCachingAllowed()); + +resources.start(); + // TODO: Implement caching. -// isCachingAllowed() // getCacheMaxSize() // getCacheMaxObjectSize() Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java?rev=1390899r1=1390898r2=1390899view=diff == --- tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java (original) +++ tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java Thu Sep 27 08:57:58 2012 @@ -62,6 +62,7 @@ public class StandardRoot extends Lifecy private ArrayListWebResourceSet postResources = new ArrayList(); private Cache cache = new Cache(this); +private boolean cachingAllowed = true; // Constructs to make iteration over all WebResourceSets simpler private ArrayListWebResourceSet mainResources = new ArrayList(); @@ -158,7 +159,11 @@ public class StandardRoot extends Lifecy @Override public WebResource getResource(String path) { -return cache.getResource(path); +if (isCachingAllowed()) { +return cache.getResource(path); +} else { +return getResourceInternal(path); +} } protected WebResource getResourceInternal(String path) { @@ -295,10 +300,22 @@ public class StandardRoot extends Lifecy return allowLinking; } +@Override +public void setCachingAllowed(boolean cachingAllowed) { +this.cachingAllowed = cachingAllowed; +} + +@Override +public boolean isCachingAllowed() { +return cachingAllowed; +} + +@Override public long getCacheTtl() { return cache.getTtl(); } +@Override public void setCacheTtl(long cacheTtl) { cache.setTtl(cacheTtl); } Modified: tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TesterWebResourceRoot.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TesterWebResourceRoot.java?rev=1390899r1=1390898r2=1390899view=diff == --- tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TesterWebResourceRoot.java (original) +++ tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TesterWebResourceRoot.java Thu Sep 27 08:57:58 2012 @@ -147,6 +147,16 @@ public class TesterWebResourceRoot imple } @Override +public void setCachingAllowed(boolean cachingAllowed) { +// NO-OP +} + +@Override +public boolean isCachingAllowed() { +
svn commit: r1390900 - in /tomcat/sandbox/trunk-resources: ./ java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/manager/ java/org/apache/catalina/startup/
Author: markt Date: Thu Sep 27 08:59:50 2012 New Revision: 1390900 URL: http://svn.apache.org/viewvc?rev=1390900view=rev Log: Sync with trunk Modified: tomcat/sandbox/trunk-resources/ (props changed) tomcat/sandbox/trunk-resources/java/org/apache/catalina/Context.java tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardWrapperValve.java tomcat/sandbox/trunk-resources/java/org/apache/catalina/manager/HTMLManagerServlet.java tomcat/sandbox/trunk-resources/java/org/apache/catalina/manager/ManagerServlet.java tomcat/sandbox/trunk-resources/java/org/apache/catalina/startup/FailedContext.java Propchange: tomcat/sandbox/trunk-resources/ -- Merged /tomcat/trunk:r1390718-1390899 Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/Context.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/Context.java?rev=1390900r1=1390899r2=1390900view=diff == --- tomcat/sandbox/trunk-resources/java/org/apache/catalina/Context.java (original) +++ tomcat/sandbox/trunk-resources/java/org/apache/catalina/Context.java Thu Sep 27 08:59:50 2012 @@ -149,12 +149,6 @@ public interface Context extends Contain /** - * Return the application available flag for this Context. - */ -public boolean getAvailable(); - - -/** * Obtain the character set name to use with the given Locale. Note that * different Contexts may have different mappings of Locale to character * set. Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java?rev=1390900r1=1390899r2=1390900view=diff == --- tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java Thu Sep 27 08:59:50 2012 @@ -1334,18 +1334,6 @@ public class StandardContext extends Con /** - * Return the application available flag for this Context. - */ -@Override -public boolean getAvailable() { - -// TODO Remove this method entirely -return getState().isAvailable(); - -} - - -/** * Return the Locale to character set mapper for this Context. */ public CharsetMapper getCharsetMapper() { Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardWrapperValve.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardWrapperValve.java?rev=1390900r1=1390899r2=1390900view=diff == --- tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardWrapperValve.java (original) +++ tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardWrapperValve.java Thu Sep 27 08:59:50 2012 @@ -107,7 +107,7 @@ final class StandardWrapperValve Context context = (Context) wrapper.getParent(); // Check for the application being marked unavailable -if (!context.getAvailable()) { +if (!context.getState().isAvailable()) { response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE, sm.getString(standardContext.isUnavailable)); unavailable = true; @@ -359,7 +359,8 @@ final class StandardWrapperValve Context context = (Context) wrapper.getParent(); // Check for the application being marked unavailable -boolean unavailable = !context.getAvailable() || wrapper.isUnavailable(); +boolean unavailable = !context.getState().isAvailable() || +wrapper.isUnavailable(); // Allocate a servlet instance to process this request try { Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/manager/HTMLManagerServlet.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/manager/HTMLManagerServlet.java?rev=1390900r1=1390899r2=1390900view=diff == --- tomcat/sandbox/trunk-resources/java/org/apache/catalina/manager/HTMLManagerServlet.java (original) +++ tomcat/sandbox/trunk-resources/java/org/apache/catalina/manager/HTMLManagerServlet.java Thu Sep 27 08:59:50 2012 @@ -510,7 +510,7 @@ public final class HTMLManagerServlet ex } else { args[2] = RequestUtil.filter(ctxt.getDisplayName()); } -args[3] =
Re: Resources - Is DirContext the right basis for the API?
2012/9/27 Mark Thomas ma...@apache.org: On 19/09/2012 20:46, Mark Thomas wrote: On 09/09/2012 19:50, Mark Thomas wrote: This is part of issue b) in Konstantin's comments in TOMCAT-NEXT.txt Konstantin has accurately summed up the issues with basing the API on DirContext as: - Unnecessary objects, e.g. NamingException instead of null. - Too many methods. Name vs. String. list() vs. listBindings(). - Limited API. As a workaround, there are non-standard methods that are implemented on BaseDirContext instead, e.g. getRealPath(), doListBindings(..). I do not believe that the resources implementation should be based around DirContext. It adds a lot of unnecessary clutter and complexity to something that is already fairly complex. A comparison of the DirContext based implementation objects with the new implementation demonstrates - in my view - how much simpler this could be. This is the next issue I'd like to resolve. Does anyone have any views one way or the other as to whether or not any refactoring of the Resources implementation should continue to be based around the JNDI DirContext interface? My own view remains that DirContext adds complexity and clutter to code that needs simplicity and clarity. There being no arguments against this in the last week, I am going to move forward on the basis that is issue is resolved and that no-one feels that DirContext is the right basis for the new resources implementation. I am sure that DirContext is not the right API to define resources. At best is could be a [deprecated] view/proxy to the actual implementation. The only benefit I see in using this API by someone is that the API itself is defined in javax.* and so one can avoid compile-time dependencies on Tomcat code. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1390904 - /tomcat/sandbox/trunk-resources/test/org/apache/catalina/core/TesterContext.java
Author: markt Date: Thu Sep 27 09:09:47 2012 New Revision: 1390904 URL: http://svn.apache.org/viewvc?rev=1390904view=rev Log: Remove deprecated code Modified: tomcat/sandbox/trunk-resources/test/org/apache/catalina/core/TesterContext.java Modified: tomcat/sandbox/trunk-resources/test/org/apache/catalina/core/TesterContext.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/test/org/apache/catalina/core/TesterContext.java?rev=1390904r1=1390903r2=1390904view=diff == --- tomcat/sandbox/trunk-resources/test/org/apache/catalina/core/TesterContext.java (original) +++ tomcat/sandbox/trunk-resources/test/org/apache/catalina/core/TesterContext.java Thu Sep 27 09:09:47 2012 @@ -305,11 +305,6 @@ public class TesterContext implements Co } @Override -public boolean getAvailable() { -return false; -} - -@Override public String getCharset(Locale locale) { return null; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Resources - Is DirContext the right basis for the API?
On 27/09/2012 10:09, Konstantin Kolinko wrote: I am sure that DirContext is not the right API to define resources. At best is could be a [deprecated] view/proxy to the actual implementation. The only benefit I see in using this API by someone is that the API itself is defined in javax.* and so one can avoid compile-time dependencies on Tomcat code. The only reason I can see for avoiding Tomcat dependencies is portability. There is no guarantee that other containers will provide the same interface. There is, however, a reason for other containers not to provide the same interface - the Servlet API already provides a standard, container neutral, portable way to access resources. Is there another use case where avoiding compile time dependencies might be useful? Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1390925 - /tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java
Author: markt Date: Thu Sep 27 10:12:58 2012 New Revision: 1390925 URL: http://svn.apache.org/viewvc?rev=1390925view=rev Log: Remove completed TODO Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java?rev=1390925r1=1390924r2=1390925view=diff == --- tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java (original) +++ tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java Thu Sep 27 10:12:58 2012 @@ -37,7 +37,6 @@ public class Cache { protected WebResource getResource(String path) { // Multiple concurrent callers will end up with the same CachedResource // instance -// TODO Config for TTL CachedResource newCacheEntry = new CachedResource(root, path, ttl); CachedResource result = resourceCache.putIfAbsent(path, newCacheEntry); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Resources - Is DirContext the right basis for the API?
On Thu, Sep 27, 2012 at 2:14 AM, Mark Thomas ma...@apache.org wrote: On 27/09/2012 10:09, Konstantin Kolinko wrote: I am sure that DirContext is not the right API to define resources. At best is could be a [deprecated] view/proxy to the actual implementation. The only benefit I see in using this API by someone is that the API itself is defined in javax.* and so one can avoid compile-time dependencies on Tomcat code. The only reason I can see for avoiding Tomcat dependencies is portability. There is no guarantee that other containers will provide the same interface. There is, however, a reason for other containers not to provide the same interface - the Servlet API already provides a standard, container neutral, portable way to access resources. Is there another use case where avoiding compile time dependencies might be useful? One use for a resource API is if it provides different backends - like Hadoop filesystem abstraction does. Than you could serve from hdfs/db/etc, and someone could use the same api in deploy tools or general programs. One of the unrealized benefits with JNDI was that it may provide many backends - LDAP, DB, etc - that would be directly usable in tomcat. If the new resources can be implemented as a self-contained dependency, i.e. don't require the entire tomcat - someone could use them in other apps. BTW - how does it compare with hadoop FS ? Costin
[Bug 53940] New: Added support for new CRL loading after expiration
https://issues.apache.org/bugzilla/show_bug.cgi?id=53940 Priority: P2 Bug ID: 53940 Assignee: dev@tomcat.apache.org Summary: Added support for new CRL loading after expiration Severity: enhancement Classification: Unclassified OS: All Reporter: ar...@noc.edunet.gr Hardware: PC Status: NEW Version: 1.1.24 Component: Library Product: Tomcat Native Created attachment 29426 -- https://issues.apache.org/bugzilla/attachment.cgi?id=29426action=edit CRL reloading support. Apache Tomcat with tcnative loads the CRL list when it starts up, and ignores any following updates. The use of OCSP can help this issue to be amortized. However, the issue comes back again when the CRL expires, and Apache Tomcat refuses to complete any more requests because of the expired CRL. With this patch, it is possible to reload the new CRL when the previous one expires. For more information about the patch please have a look at: http://code.uoa.gr/p/tomcat-ocsp/reload.php It would be nice to include it in tha main Tomcat Tree, since together with the OCSP support, it is possible to have fast and stable cert verification to be used with client authentication. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Resources - Is DirContext the right basis for the API?
Costin Manolache cos...@gmail.com wrote: On Thu, Sep 27, 2012 at 2:14 AM, Mark Thomas ma...@apache.org wrote: On 27/09/2012 10:09, Konstantin Kolinko wrote: I am sure that DirContext is not the right API to define resources. At best is could be a [deprecated] view/proxy to the actual implementation. The only benefit I see in using this API by someone is that the API itself is defined in javax.* and so one can avoid compile-time dependencies on Tomcat code. The only reason I can see for avoiding Tomcat dependencies is portability. There is no guarantee that other containers will provide the same interface. There is, however, a reason for other containers not to provide the same interface - the Servlet API already provides a standard, container neutral, portable way to access resources. Is there another use case where avoiding compile time dependencies might be useful? One use for a resource API is if it provides different backends - like Hadoop filesystem abstraction does. Than you could serve from hdfs/db/etc, and someone could use the same api in deploy tools or general programs. One of the unrealized benefits with JNDI was that it may provide many backends - LDAP, DB, etc - that would be directly usable in tomcat. Given the time the DirContext based resources API was in Tomcat and the lack of wider use suggests that either there is no demand or that the API did not meet the requirements of users that had a requirement for it. If the new resources can be implemented as a self-contained dependency, i.e. don't require the entire tomcat - someone could use them in other apps. They are not entirely self-contained. They could be with some refactoring, but that isn't particularly high on my to do list. The APIs are also very focussed on what a Servlet container requires. They are not general. Again they could be but it isn't a priority for me. BTW - how does it compare with hadoop FS ? Don't know, haven't looked. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Resources - Is DirContext the right basis for the API?
On Thu, 2012-09-27 at 07:34 -0700, Costin Manolache wrote: One use for a resource API is if it provides different backends - like Hadoop filesystem abstraction does. Than you could serve from hdfs/db/etc, and someone could use the same api in deploy tools or general programs. One of the unrealized benefits with JNDI was that it may provide many backends - LDAP, DB, etc - that would be directly usable in tomcat. Yes, you convinced me to bother with JNDI in order to have a standard API that others could use if they wanted to integrate. I used it in Slide, but that was it, so it wasn't useful in the end. Of course, we had no real idea to know that at the time, and it is possibly because we didn't bother documenting/advertising it much. If the new resources can be implemented as a self-contained dependency, i.e. don't require the entire tomcat - someone could use them in other apps. BTW - how does it compare with hadoop FS ? Rémy - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Resources - Is DirContext the right basis for the API?
On Thu, Sep 27, 2012 at 10:54 AM, Remy Maucherat r...@apache.org wrote: On Thu, 2012-09-27 at 07:34 -0700, Costin Manolache wrote: One use for a resource API is if it provides different backends - like Hadoop filesystem abstraction does. Than you could serve from hdfs/db/etc, and someone could use the same api in deploy tools or general programs. One of the unrealized benefits with JNDI was that it may provide many backends - LDAP, DB, etc - that would be directly usable in tomcat. Yes, you convinced me to bother with JNDI in order to have a standard API that others could use if they wanted to integrate. I used it in Slide, but that was it, so it wasn't useful in the end. Of course, we had no real idea to know that at the time, and it is possibly because we didn't bother documenting/advertising it much. Yes, I was wrong - but I learned a lot in the last 10 years :-) ( and this isn't the only mistake I made ). I still think it's a good idea to have a good abstraction API for resources - and the key is to have it documented/advertised/used and more important implemented for various backends. One way to do this is to make sure it's not very tied to tomcat. Costin If the new resources can be implemented as a self-contained dependency, i.e. don't require the entire tomcat - someone could use them in other apps. BTW - how does it compare with hadoop FS ? Rémy - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 53938] Silent Install
https://issues.apache.org/bugzilla/show_bug.cgi?id=53938 Mark Thomas ma...@apache.org changed: What|Removed |Added OS||All Severity|normal |enhancement --- Comment #1 from Mark Thomas ma...@apache.org --- Feature request == enhancement -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 53903] Embedded Tomcat7 does not process Servlet API3.0 Annotations (WebListener)
https://issues.apache.org/bugzilla/show_bug.cgi?id=53903 Mark Thomas ma...@apache.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #5 from Mark Thomas ma...@apache.org --- Not an issue. The behaviour of the JarScanner is documented. Suggestions for documentation patches welcome. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Resources - Is DirContext the right basis for the API?
On Thu, Sep 27, 2012 at 10:18 AM, Mark Thomas ma...@apache.org wrote: Costin Manolache cos...@gmail.com wrote: On Thu, Sep 27, 2012 at 2:14 AM, Mark Thomas ma...@apache.org wrote: On 27/09/2012 10:09, Konstantin Kolinko wrote: I am sure that DirContext is not the right API to define resources. At best is could be a [deprecated] view/proxy to the actual implementation. The only benefit I see in using this API by someone is that the API itself is defined in javax.* and so one can avoid compile-time dependencies on Tomcat code. The only reason I can see for avoiding Tomcat dependencies is portability. There is no guarantee that other containers will provide the same interface. There is, however, a reason for other containers not to provide the same interface - the Servlet API already provides a standard, container neutral, portable way to access resources. Is there another use case where avoiding compile time dependencies might be useful? One use for a resource API is if it provides different backends - like Hadoop filesystem abstraction does. Than you could serve from hdfs/db/etc, and someone could use the same api in deploy tools or general programs. One of the unrealized benefits with JNDI was that it may provide many backends - LDAP, DB, etc - that would be directly usable in tomcat. Given the time the DirContext based resources API was in Tomcat and the lack of wider use suggests that either there is no demand or that the API did not meet the requirements of users that had a requirement for it. I agree, 10 years ago we didn't know this will happen. If the new resources can be implemented as a self-contained dependency, i.e. don't require the entire tomcat - someone could use them in other apps. They are not entirely self-contained. They could be with some refactoring, but that isn't particularly high on my to do list. As I said, I think a problem with JNDI is that it ended up not getting used, and it doesn't have too many backends. The new resource API is a step forward - it's cleaner/simpler - but I think having it used (and implemented) outside tomcat would help. Alternative: have an easy way to wrap other APIs, like hadoop. It's well worth comparing with and using hadoop APIs - there are plenty of new storage systems and it seems a useful thing to be able to integrate well and serve from them. The APIs are also very focussed on what a Servlet container requires. They are not general. Again they could be but it isn't a priority for me. BTW - how does it compare with hadoop FS ? Don't know, haven't looked. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org