diff --git a/src-impl/org/seasar/mayaa/impl/source/ClassLoaderSourceDescriptor.java b/src-impl/org/seasar/mayaa/impl/source/ClassLoaderSourceDescriptor.java index 3edfb076f..082bb26c4 100644 --- a/src-impl/org/seasar/mayaa/impl/source/ClassLoaderSourceDescriptor.java +++ b/src-impl/org/seasar/mayaa/impl/source/ClassLoaderSourceDescriptor.java @@ -20,7 +20,9 @@ import java.net.URL; import java.util.Date; +import org.seasar.mayaa.impl.CONST_IMPL; import org.seasar.mayaa.impl.ParameterAwareImpl; +import org.seasar.mayaa.impl.engine.EngineUtil; import org.seasar.mayaa.impl.util.IOUtil; import org.seasar.mayaa.impl.util.StringUtil; import org.seasar.mayaa.source.SourceDescriptor; @@ -30,7 +32,7 @@ * @author Koji Suga (Gluegent Inc.) */ public class ClassLoaderSourceDescriptor extends ParameterAwareImpl - implements SourceDescriptor { + implements SourceDescriptor, CONST_IMPL { private static final long serialVersionUID = 1L; @@ -69,7 +71,7 @@ public void setSystemID(String systemID) { public boolean exists() { if (_url == null) { synchronized (this) { - if (_url == null) { + if (_url == null && needPrepareURL()) { prepareURL(); } } @@ -77,6 +79,10 @@ public boolean exists() { return _url != null; } + protected boolean needPrepareURL() { + return (_timestamp == null || EngineUtil.getEngineSettingBoolean(CHECK_TIMESTAMP, true)); + } + protected void prepareURL() { String path = (_root + getSystemID()).substring(1); if (_neighbor != null) {