У меня есть веб-приложение, работающее на сервере приложений websphere 8 (WAS). В web.xml у меня есть:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:by/example/**/*-ctx.xml</param-value>
</context-param>
Затем, когда я развертываю свое приложение на WAS - оно загружает все мои файлы ctx по URL-адресам с префиксом «wsjar: file ...», что хорошо.
Но когда в моем рабочем приложении я пытаюсь использовать объект контекста моего приложения для загрузки ресурсов следующим образом:
applicationContext.getResource("classpath*:by/example/**/I-*.sql").getUrl()
Это вызывает исключение, что URL неверен, но если я добавляю преффикс «wsjar:», например:
applicationContext.getResource("wsjar:classpath*:by/example/**/I-*.sql").getUrl()
Это работает хорошо. Но мне нужно создать универсальную систему для загрузки ресурсов на разные серверы приложений и контейнеры сервлетов. В tomcat префикс не нужен.
Как я могу загружать ресурсы в моем приложении на WAS таким же образом, как ContextLoader через ContextLoaderListener загружать мои файлы ctx без префикса «wsjar:»?