Jersey;:通过SpringServlet注册注入的ExceptionMapper实例
泽西岛:1.12 我正在尝试为在SpringServlet上下文中由Spring IoC容器实例化的Jersey servlet注册ExceptionMapper实例,并且在Jersey servlet期间遇到“组件类X的范围必须是单例”异常初始化.我现在无法发布实际的代码,因此我将提供实现的基本知识,看看是否有人明显跳出某人,或者我是否可以指出我的某些文档错过. ExceptionMapper实例基本上如下:
applicationContext.xml中的bean定义如下,默认为singleton范围(添加显式范围说明符似乎不会改变行为):
web.xml中的Spring上下文加载器侦听器和SpringServlet配置本质上是样板文件,当从ApplicationContext.xml中注释掉MyExceptionMapper的bean定义时,servlet将使用其他注入属性加载,初始化和正常运行.但是当applicationContext.xml中存在bean定义时,我得到了以下效果的日志消息:
我已经尝试将MyExceptionMapper放在扫描包层次结构中,以便在初始化期间由SpringServlet拾取,并且在单独的包层次结构中,结果不会更改. 对此的任何帮助或指导将不胜感激. 最佳答案
在Spring 3.2.3和Jersey 2.3.1集成上遇到同样的问题.
对我有用的是两个组合: >使用@Service注释泽西@Provider类,或者在app-context xml中明确单例
>将包含提供程序类的包添加到jersey包中,我更喜欢在MyApplication类中执行此操作:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |