我已经在SO和官方文档上搜索了一段时间,但我找不到直接将CDI注入JAX-RS客户端的方法。
我使用builder方法检索一个客户机,并想注册一个< code>WriterInterceptor(或任何类似过滤器的组件),它使用注入来检索另一个bean。
我想使用CDI注入,并避免向HK2注册每个bean。
ClientBuilder.newBuilder()
.register(MyWriter.class)
.build();
和MyWriter与注入的类。
@Provider
public class MyWriter implements WriterInterceptor {
private final MyRepo repo;
@Inject
public MyWriter(MyRepo repo) {
this.repo = repo;
}
@Override
public void aroundWriteTo(WriterInterceptorContext context) throws IOException, WebApplicationException {
context.proceed();
}
}
public class MyRepo {
}
我在一个带有泽西2和焊接SE的嵌入式码头上运行。
如果我理解正确的话,这个问题已经被问过并回答过了。简而言之:你必须覆盖H2K绑定器的默认行为,这样它就可以连接到焊接豆管理器。你以后不必向H2K注册每个Bean。
编辑:包含帖子中的所有内容,这样你就不必阅读评论了:
可以使用wield注入java se应用程序。
@Singleton
public class Application {
private static Logger logger = LoggerFactory.getLogger(Application.class);
@inject
private SomeOtherBean injectedBean;
public void run() {
logger.debug("application initialized");
injectedBean.doSomething();
}
}
主初始化weld内部
import java.io.IOException;
import org.jboss.weld.environment.se.Weld;
import org.jboss.weld.environment.se.WeldContainer;
public class EntryPoint {
public static void main(String[] args) throws IOException {
Weld weld = new Weld();
WeldContainer container = weld.initialize();
Application application = container.instance().select(Application.class).get();
application.run();
weld.shutdown();
}
}
看看下面的医生
https://docs.jboss.org/weld/reference/latest/en-US/html/environments.html#_java_se
也在教程下面https://randling.wordpress.com/2011/08/15/cdi-in-java-se/
我正在编写自定义JAX-RS 2.0应用程序(在泽西岛2.3.1下),其中包含一些数据供所有资源使用。 (我也可以使用API的< code > javax . ws . RS . core . application ,描述的结果是相同的) 然后将对象注入资源 然而,打电话的结果是 这让我使用一些丑陋的技巧,如 我对JAX-RS 2.0规范第9.2.1节的理解: 可以使用 注释将应用程序提供的 子
我正在将JAX-RS应用程序从WebSphere 8.0迁移到WebSphere Liberty 8.5.5。 在WebSphere 8.0中,Jackson是由WebSphere提供的。我可以在AppServer\plugins\目录中找到、、和文件。 在新的应用服务器(WebSphere Liberty)中,我得到以下异常:< code > org . code Haus . Jackson
我尝试为我的网站提供文件上传/下载服务,并且尝试使用openstack中的对象存储。问题是,我通过php和openstack PHPSDK做这件事没有问题,但是当我试图通过一些javascript做这件事时,我找不到一个好的sdk或方法。我没有使用node,我有一个php服务器和一个javascript客户端。我想直接从javascript客户端上传或下载文件。我不希望文件通过php服务器传输。我
我正在使用泽西JAX-RS客户端(版本2.0)。我知道它使用Jackson ObjectMapper来生成和解析JSON。我想使用相同的对象为一些java类生成JSON,这样我就可以将它们写入日志。 我知道我可以创建一个新的ObjectMapper实例,但我更喜欢请求泽西客户端给我一个它正在使用的引用。我该怎么做呢?泽西2.0知道Jackson,因为它包含一个JacksonFeature类,该类首
创建okhttp3客户端,使用sni地址访问web服务器,但握手失败,错误消息为“javax.net.ssl.SSLHandShakeException:握手期间远程主机关闭连接”。 有人知道如何在okhttp3客户端代码中使用sni地址吗?
莴苣支持这种开箱即用的群集/分片吗?如果是,如何将其配置为使用客户端散列?