javax.enterprise.event与org.eclipse.microprofile.reactive.messaging的优缺点是什么?

a0x5cqrl  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(392)

**结束。**此问题不符合堆栈溢出准则。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

上个月关门了。
改进这个问题
我尝试通过quarkus和smallrye学习React式编程/React式消息传递。但是我仍然很难理解org.eclipse.microfile.reactive.messaging相对于javax.enterprise.event的优势,如果有的话?
一方面:

@Inject
MyEvent Event<String> myEvent;

public void someFunc(){
myEvent.fire("blabla");
}

//Elsewhere in the code :
public void aConsumer(@Observes @MyEvent String ev){
 //an event saying blabla has been received :)
}

另一边:

@Inject
@Channel("myChannel")
Emitter<String> msgEmitter;

public void someFunc(){
msgEmitter.send("blabla");
}

//Elsewhere in the code :
@Incoming("myChannel")
public void aConsumer(String ev){
 //an event saying blabla has been received :)
}

我可能会错过一些东西。。。。

xqk2d5yq

xqk2d5yq1#

主要区别在于cdi事件( javax.enterprise.event )是纯粹的进程内消息传递,而使用React式消息传递,您可以从外部消息传递系统(如kafka、activemq artemis等,使用各种协议,如amqp、mqtt等)消费消息或向外部消息传递系统生成消息。虽然可以使用React式消息传递来传递内存中的消息,但这并不是它的主要优点。

相关问题