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

嵌入式防波堤,泽西2,焊接

郑茂材
2023-03-14
public static void main(String[] args) {

    URI baseUri = UriBuilder.fromUri("http://localhost/").port(8080).build();
    ResourceConfig config = ResourceConfig.forApplicationClass(MyApplication.class);

    Server server = JettyHttpContainerFactory.createServer(baseUri, config);
}

(我在命中RESTendpoint时有org.glassfish.hk2.api.UnsatistifiedDependencyException)。

如何正确设置焊接(最好是编程方式)?

共有1个答案

倪炎彬
2023-03-14

我使用了Weld Se:

import org.jboss.weld.environment.se.Weld;
import org.jboss.weld.environment.se.WeldContainer;

然后简单地

Weld weld = new Weld();
try {
    WeldContainer container = weld.initialize();

    URI baseUri = UriBuilder.fromUri("http://localhost/").port(8080).build();
    ResourceConfig config = ResourceConfig.forApplicationClass(MyApplication.class);

    Server server = JettyHttpContainerFactory.createServer(baseUri, config);

    server.join();

} catch (Exception e) {
    e.printStackTrace();
} finally {
    weld.shutdown();
}

注意,HK2将处理REST类,所以我不得不编写一个绑定器来使注入在那些类中工作。这个问题帮了我很大的忙。

 类似资料:
  • 我有一个使用Camel jetty组件作为网关的带有Camelendpoint路由的Spring Boot应用程序。 } 如果我将jetty组件放在端口8085中执行,那么一切都可以正常工作。 我试图跟踪这场讨论 使用Spring Boot中的现有http服务器作为骆驼endpoint 但我得到了下面的错误,因为我有两个Jetty运行在同一个端口上 我使用的是Camel-Jetty2.18.0一个

  • 我花了太多的时间(我想超过10个小时)试图弄清楚如何让基本的json调用(来自angularjs)在我的泽西2.4上打开和处理。我已经在谷歌上尝试了所有可能的结果,但仍然在得到一个 415(不支持的媒体类型) 客户端和 组织。玻璃鱼。运动衫消息内部的MessageBodyProviderNotFoundException:找不到媒体类型=应用程序/json,类型=类的MessageBodyRead

  • 有人成功部署了Jersey 2吗。带JBoss 7的x。x?我曾尝试在JBoss 7.1.1中部署Jersey 2.5,但遇到以下错误: 我认为这个问题是因为JBoss与RestEasy捆绑在一起,RestEasy是一个JAX-RS 1.0实现,而Jersey是一个JAX-RS 2.0实现。因此,我采取以下步骤禁用RestEasy: 1)在我的web.xml中添加了以下内容: 2)按照这里的讨论,

  • 我有一个问题,让昂首阔步的博士一代工作。 以下是我使用的专家: 我在ResourceConfig类中添加了swagger ressources: 然后我声明了一个 servlet 来配置 Swagger: 通过上面的配置,可以使用swagger servlet:如果我浏览到api文档url,我会得到以下信息: 但是,如果我使用如下所示的真实配置更改 swagger servlet 配置中的 api

  • 在Jersey 2中,我可以将一个定制的、请求特定的值注入到我的资源中吗?具体来说,我想注入一个< code>MyThing,它可以从我的自定义安全上下文< code>MySecurityContext中派生出来。我想直接注入< code>MyThing来使代码变得干净。 有什么办法可以做到这一点吗?根据这个问题,它不能使用尽管本文和此示例表明它可能是可能的。 使用身份验证筛选器,我可以使用以下代

  • 我不想让泽西做任何依赖注射。我认为有从Jersey到Guice的桥梁,但是基于我不能在这里显示的程序需求,我需要自己创建REST控制器实例,并向Guice请求它们。 我的问题:我怎样才能禁用泽西岛的依赖注入? 我当前正在使用注释。也许我可以改用注释,以为Jersey不会在寻找这些注释。但我还是宁愿把泽西岛的依赖注射关了。我怎么能那样做?