diff --git a/commons/src/main/java/org/archive/spring/ConfigPathConfigurer.java b/commons/src/main/java/org/archive/spring/ConfigPathConfigurer.java index 72c003fc..2d033c16 100644 --- a/commons/src/main/java/org/archive/spring/ConfigPathConfigurer.java +++ b/commons/src/main/java/org/archive/spring/ConfigPathConfigurer.java @@ -54,7 +54,7 @@ import org.springframework.core.Ordered; public class ConfigPathConfigurer implements BeanPostProcessor, - ApplicationListener, + ApplicationListener, ApplicationContextAware, Ordered { Map allBeans = new HashMap(); @@ -87,8 +87,19 @@ implements */ public void onApplicationEvent(ApplicationEvent event) { if(event instanceof ContextRefreshedEvent) { - for(String k : allBeans.keySet()) { - fixupPaths(allBeans.get(k),k); + for(String beanName: allBeans.keySet()) { + Object bean = allBeans.get(beanName); + + fixupPaths(bean, beanName); + + // we want to remember writer pool store paths for later interpolation + // (their base dirs are taken care of elsewhere) + if (bean instanceof WriterPoolProcessor) { + List storePaths = ((WriterPoolProcessor) bean).getStorePaths(); + for (int i = 0; i < storePaths.size(); i++) { + remember(beanName + "." + "storePaths[" + i + "]", storePaths.get(i)); + } + } } allBeans.clear(); // forget } @@ -128,15 +139,6 @@ implements } } - // we want to remember writer pool store paths for later interpolation - // (but their base dirs are taken care of elsewhere) - if (bean instanceof WriterPoolProcessor) { - List storePaths = ((WriterPoolProcessor) bean).getStorePaths(); - for (int i = 0; i < storePaths.size(); i++) { - remember(beanName + "." + "storePaths[" + i + "]", storePaths.get(i)); - } - } - if(bean instanceof PathFixupListener) { ((PathFixupListener)bean).pathsFixedUp(); } diff --git a/engine/src/main/java/org/archive/crawler/framework/CrawlJob.java b/engine/src/main/java/org/archive/crawler/framework/CrawlJob.java index 8febec62..5ed831ff 100644 --- a/engine/src/main/java/org/archive/crawler/framework/CrawlJob.java +++ b/engine/src/main/java/org/archive/crawler/framework/CrawlJob.java @@ -450,7 +450,7 @@ public class CrawlJob implements Comparable, ApplicationListener