简体   繁体   English

Java EE中有什么方法可以进行异步通信?

[英]What approaches are there in Java EE for asynchronous communication?

I want to know what approaches there are in Java EE that I can use them for asynchronous communication especially in distributed systems? 我想知道Java EE中有哪些方法可以用于异步通信,尤其是在分布式系统中? (in fact what approaches there are in java that designed for this aim) (实际上,java中为此目的设计了什么方法)

Some options: 一些选项:

Asynchronous web services 异步Web服务

Pros: 优点:

  • Well known standard 知名标准
  • Easy to debug 易于调试
  • Can participate in a JTA transaction 可以参加JTA交易

Cons: 缺点:

  • No guarantees on delivery 没有交货保证
  • No persistance, retry, etc. 没有持久性,重试等。
  • Not so good performance (HTTP, serialization overhead) 性能不太好(HTTP,序列化开销)

Java Message Service Java消息服务

Pros: 优点:

  • Well known standard 知名标准
  • Can participate in a JTA transaction 可以参加JTA交易
  • Can be setup so it guarantees delivery, retries if needed 可以设置以便保证交货,必要时重试
  • Multiple implementations to choose from 多种实现方式可供选择
  • Good performance 很好的表现

Cons: 缺点:

  • Requires a separate server (if not built in into your appserver) 需要一个单独的服务器(如果未内置在您的应用服务器中)
  • Requires experience with JMS 需要JMS经验

See this for implementations: http://en.wikipedia.org/wiki/Java_Message_Service#Provider_implementations 请参见以下实现: http : //en.wikipedia.org/wiki/Java_Message_Service#Provider_implementations

您可以使用JMS进行异步消息传递

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM