在websphere应用服务器中通过spring加载资源
我有一个在 websphere 应用程序服务器 8 (WAS) 上运行的 Web 应用程序。在 web.xml 中,我有:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:by/example/**/*-ctx.xml</param-value>
</context-param>
然后,当我在 WAS 上部署我的应用程序时 - 它通过带有前缀“wsjar:file...”的 url 加载我的所有 ctx 文件,这很好。
但是,当在我的工作应用程序中时,我尝试使用应用程序上下文的对象来加载资源,如下所示:
applicationContext.getResource("classpath*:by/example/**/I-*.sql").getUrl()
它会抛出 url 不正确的异常 - 但如果我添加前缀“wsjar:”,如下所示:
applicationContext.getResource("wsjar:classpath*:by/example/**/I-*.sql").getUrl()
它运行良好。但我需要创建通用系统来加载不同应用程序服务器和 servlet 容器上的资源。在 tomcat 中不需要前缀。
如何以与 ContextLoader 相同的方式在 WAS 上的应用程序中加载资源,通过 ContextLoaderListener 加载我的 ctx 文件而不带前缀“wsjar:”?
I have a web application running on websphere application server 8 (WAS). In web.xml i have:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:by/example/**/*-ctx.xml</param-value>
</context-param>
Then when i deploy my app on WAS - It loads all my ctx files by urls with prefix "wsjar:file..." that is good.
But when in my working app i try to use object of my application context to load resources like this:
applicationContext.getResource("classpath*:by/example/**/I-*.sql").getUrl()
It's throws exception that url incorrect - but if i add preffix "wsjar:", like this:
applicationContext.getResource("wsjar:classpath*:by/example/**/I-*.sql").getUrl()
It works well. But i need to create universal system to load resources on different app servers, and servlets containers. In tomcat prefix not needed.
How can i load resources in my app on WAS in the same way as ContextLoader via ContextLoaderListener load my ctx files without preffix "wsjar:"?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当我使用完整的包名称时,我对 IBM WAS 没有任何问题。像这样:
我没有尝试使用星号来指向多个文件。也许列出所有个人文件对您有用。
When i use full package names i have no problems with IBM WAS. Like this:
I didn't try using asteriks for pointing multiple files. Maybe listing all individuals files can work for you.
尝试这样的事情。
Try something like this.