2015-10-29 73 views
0

我不明白JavaEE和Glassfish的一点。Glassfish 4中的JAX-RS实施

据我所知,JavaEE是一组不同服务的接口。其中之一就是用于创建RESTful应用程序的JAX-RS。

但是为了使用这些接口之一,我需要它的一个实现。所以有很多的实现,例如RESTEasy,Jersey等。但是我有点困惑。 Glassfish使用哪个实现?它有自己的或者实现现有的一个,例如泽西岛?

我的问题不仅是关于JAX-RS,而且关于其他接口,但我想它是类似于每个接口。

+2

Glashfish使用泽西岛。 –

+0

谢谢。我在哪里可以找到Glassfish使用的每个实现? – tdudzik

+0

一般Google的“玻璃鱼”是最快的。在讨论特定的JavaEE规范API时,人们喜欢重复每种流行的JavaEE容器的实现。我还想强调,关心它正是JavaEE平台试图从你身上带走的东西。您不必关心使用了哪个实现,直到您遇到困难时才会清楚它将从异常堆栈跟踪中确定哪个实现。 – Gimby

回答

1

一般情况下,每个应用程序服务器都有它自己的实现不同的Java EE规范的,我给你的Glassfish和JBoss的(目前Wildfly)

  • JAX-RS几个例子 - GlassFish是用球衣,这还参考实现(在相对的JBoss或Wildfly它使用的RESTEasy)
  • JPA - GlassFish使用的EclipseLink(再次,参考实现)和JBoss具有休眠
  • CDI - 既有焊接
  • JTA - GlassFish使用JTA是否履行离子对于GlassFish,JBoss已经纳拉亚纳
  • JSF - 无论是使用钻嘴鱼科

对您来说意味着为您的项目通常需要仅仅依靠在规范(说明除非你想要的东西特殊的外部接口开发什么规范),所以你不关心实现,只是让你的应用程序服务器注入正确的。这对你的项目很好,因为你不需要那么多的依赖。您也可以通过Maven将这些依赖关系指定为provided,因此当您构建项目时,它不会包含额外的JAR,它会为您提供更轻量级的JAR或WAR。