简短回答:我认为选择 JCA 与其他技术相比没有任何好处,我认为这是一个缺点,因为您需要 Java EE 容器。
长答案:
一段时间以来,我一直对这些 Java EE 标准持怀疑态度。我不再认为使用全功能 Java EE 服务器有令人信服的技术理由,因为提供的每个功能都有更好的开源实现。在进出“企业解决方案”时,我曾多次被实施不兼容所困扰。
JCA 的想法现在在这里浮出水面,我正在努力尝试apache camel或spring 集成。我完全支持你可以在任何地方使用的开源实现。并且发生了很多事情。检查此组件列表。诚然,可能比已经使用 JCA 开发的要小,但每一点都是开源的,而且都在一个位置。另外,我相信文档更简单、更完整。集成的需求需要一个强大的 SPI,其中包含大量开源、真实的示例,以相同的方式开发,并且可以在同一个地方找到。
I am hating the negativity, but I don't like full featured application servers. For instance, I would go for tomcat and terracota any day over other "enterprisey" products, just as I would go with camel before JCA, until the need for JCA gets proven. I don't like the idea of the Java Committee to tell how I should develop my own applications because I don't trust them. I believe it is in my best interest when the piece of software can work just as easily on Java SE/RCP as in a Java EE environments or in a pure Servlet container.