私は、vert.x、resteasyとweld-cdiを使ってサンプルアプリケーションが必要です。私はvert.xとresteasyを使うことができます。しかし、私は溶接cdiを統合する方法を知らない。restxasyとweldを持つVertx
私を助けてください。
私は、vert.x、resteasyとweld-cdiを使ってサンプルアプリケーションが必要です。私はvert.xとresteasyを使うことができます。しかし、私は溶接cdiを統合する方法を知らない。restxasyとweldを持つVertx
私を助けてください。
weld-vertx projectをご覧ください。
すでにvertexで作業できる場合は、Weldで製織することができます。 プロジェクトにはいくつかの例があります。また、テストをチェックしてさらに多くの用途を確認することもできます。
私はResteasyとWeldでVertxを使用しています。それほど単純ではありませんが、私はそれをやり遂げました。あなたは必要になります。
org.jboss.resteasy:resteasy-cdi
とorg.jboss.resteasy:resteasy-vertx
RESTEasyの統合モジュールorg.jboss.weld.se:weld-se-core
モジュールのJava SEにためorg.jboss.weld.vertx:weld-vertx-core
溶接+ Vertx拡張:
Weld weld = new Weld();
weld.addExtension(new VertxExtension());
weld.initialize();
あなたはRESTEasyのを展開するとき、あなたはCDIのインスタンスでそれを展開する:
VertxResteasyDeployment deployment = new VertxResteasyDeployment();
ResteasyCdiExtension cdiExtension = CDI.current().select(ResteasyCdiExtension.class).get();
deployment.setActualResourceClasses(cdiExtension.getResources());
deployment.setInjectorFactoryClass(CdiInjectorFactory.class.getName());
deployment.getActualProviderClasses().addAll(cdiExtension.getProviders());
deployment.start();
そして、あなたがセットアップするVERTX-溶接延長をブロッキングブロックの消費者を登録することによって、欲しい:
// Setup the Vertx-CDI integration
VertxExtension vertxExtension = CDI.current().select(VertxExtension.class).get();
BeanManager beanManager = CDI.current().getBeanManager();
// has to be done in a blocking thread
vertx.executeBlocking(future -> {
vertxExtension.registerConsumers(vertx.getDelegate(), BeanManagerProxy.unwrap(beanManager).event());
future.complete();
}, res -> {
// you can now create your HTTP server
});
注意Vert.xのCDI要求コンテキストを作成
を設定します。