当前位置: 首页 > 知识库问答 >
问题:

如何在Jersey中设置AbstractBinder

朱淮晨
2023-03-14

我试图在servlet/tomcat上下文中实现Jersey中的HK2绑定。

在一个扩展org.glassfish.jersey.servlet.ServletContainer的servlet中是这样做的:

  @Override
  public void init(ServletConfig config) throws ServletException
  {
    super.init(config);
    // BinderInjection extends org.glassfish.hk2.utilities.binding.AbstractBinder
    getConfiguration().register(new BinderInjection()); 
  }
java.lang.IllegalStateException: The resource configuration is not modifiable in this context.
    at org.glassfish.jersey.server.ResourceConfig$ImmutableState.register(ResourceConfig.java:270)
    at org.glassfish.jersey.server.ResourceConfig$ImmutableState.register(ResourceConfig.java:218)
    at org.glassfish.jersey.server.ResourceConfig.register(ResourceConfig.java:448)
    at A_Servlet.init(RestServlet.java:45)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1190)

为什么要问这个问题?(编辑)

是为泽西岛的EntityManager和JPA准备的。

使用Netbeans时,如果我生成了一个AbstractFacade,它将

  @PersistenceContext(unitName = "myunit")
  private EntityManager em;
  @Override
  protected EntityManager getEntityManager()
  {
    return em;
  }

多谢了。

共有1个答案

岑和风
2023-03-14

下面是我将Spring injected jersey资源绑定到Jetty WebServer的示例。ResourceConfig实用程序由Jersey提供。希望这个例子有帮助。附注。--restService是Spring注入的依赖项

    ResourceConfig config = new ResourceConfig(CustomRestService.class);
                config.register(new AbstractBinder() {

                    @Override
                    protected void configure() {
                        bind(restService).to(CustomRestService.class);
                    }
                });

                restService.start();
                ServletHolder apiServlet = new ServletHolder(new ServletContainer(config));
                ServletHolder apiServlet = new ServletHolder(new HttpServletDispatcher());
                servletContainer.addServlet(apiServlet, "/api/v1*//*");
 类似资料:
  • 问题内容: 使用jersey jersey.java.net当URI中没有接受标头或.xml后缀时,如何将JSON设置为默认序列化而不是XML? 问题答案: 您可以在@Produces批注中为每种媒体类型分配质量索引。如果可以同时允许XML和JSON,则可以执行以下操作以使Jersey偏爱JSON:

  • 我的web.xml如下所示: 我的ApiApplication设置如下: 现在我有了所有的设置,我正试图达到我的服务。我使用的DirectRestService如下所示:

  • 问题内容: 我正在尝试使用JavaFX中的WebView入门,但是当尝试打开W​​ebView时,我收到以下所示的错误,我该如何解决此问题? 问题答案: 尝试运行WebView时遇到任何错误时,请确保您的VM选项包含模块javafx.web。 虚拟机选项: 在IntelliJ中,您可以通过转到IDE右上方的“编辑配置”按钮来访问VM选项。

  • 问题内容: 我已经使用数据库中的SQL数据库开发了一个窗口服务,该数据库中的记录已满,因此查询执行需要很多时间,而默认命令超时是30S,但我想将其增加到120S。 但是我的应用程序中有很多方法,因此我想从APP.config文件中进行设置,这样它将适用于应用程序级别,任何人都可以告诉我如何实现此目标 谢谢 问题答案: 实现此目的的最简单方法是在类似以下内容的地方添加新条目: 然后,创建一个将填充值

  • 问题内容: 我有一个模型: 如何编写基于类的视图,该视图创建新的模型实例并将外键设置为? 问题答案: 我通过覆盖方法解决了这个问题。下面是详细说明的样式: 但是我们可以简短地说(感谢dowjones123),在docs中提到了这种情况。

  • 问题内容: 我试着把这2行 在我的根.htaccess文件中,但这给我带来“内部服务器错误”消息… php5正在服务器上运行, 我无权访问php.ini,因此我认为htaccess是我唯一的机会。 你能告诉我哪里错了吗? 提前致谢 问题答案: 是正确的。 您将必须与您的托管服务商联系-有些不允许您更改php.ini中的值