Si je veux un soutien EJB 3.0 et que je veux exécuter Java 7, ai-je besoin de java ee ou puis-je coller avec SE? p>
Dans le passé (de nombreuses versions JDK il y a des versions JDK), une version "J2EE" de la JDK pour exécuter EJB. Il semblerait que cela ne soit plus vrai. S'il vous plaît conseiller. P>
MISE À JOUR: J'aurais dû mentionner que l'application sera exécutée à l'intérieur de Oracle Weblogic 10.3.6. P>
5 Réponses :
Pour exécuter EJB, vous avez besoin d'un conteneur EJB (tel que Glassfish), qui n'est pas inclus avec Java SE 7. P>
Je pense que vous avez tort. L'EJB fait toujours partie de la spécification Java EE uniquement, pas de Java SE. Si vous regardez Java SE API , il n'y a aucune référence à EJB. < / p>
Non, ceci est inchangé. Les EJB font partie de Java EE, pas Java SE. Cela ne changera probablement jamais car le soutien de l'infrastructure pour l'EJB est énorme (et ne sera probablement pas inclus dans Java SE). P>
EJB fait partie de Java EE. Mais si ce que vous voulez, JPA, même si l'API est incluse dans Java Ee ( Voici la documentation de l'API ) Vous n'avez plus besoin d'un serveur d'applications Java EE pour JPA, plus de JPA (contrairement à la situation avec les haricots d'entité EJB). JPA peut être utilisé avec Java SE. p>
Si vous exécutez ceci dans Weblogic, vous avez accès à Java EE, donc je ne comprends pas le point de la question. P>
La question, sans explicitement indiqué, était de savoir si j'avais accès aux bibliothèques d'EJB avec Java SE. Sur la base des réponses, les options doivent utiliser le SDK Java EE et / ou utiliser les bibliothèques fournies avec le serveur d'applications pour gagner la fonctionnalité Java EE telle que les EJBS. J'ai accepté votre réponse car c'est le placard à la bonne réponse.
@Bestpractices: Si vous souhaitez simplement compiler quelque chose dans une construction, vous pouvez mettre votre pot de blanchiment dans votre référentiel ou utiliser les pots de Glassfish.
> Mais si ce que vous voulez, JPA, cela ne fait plus partie de Java EE, ce n'est pas tout à fait vrai. JPA est toujours dans la spécification Java EE Paraplella. Ce qui a changé, c'est que CMP (haricots d'entité, à ne pas confondre avec des entités) a été obsolète en faveur de la JPA. JPA a commencé comme une sous-spécification de l'EJB, mais a ensuite été transférée à sa propre spécification, mais comme mentionné toujours dans Java EE. Tout cela ne signifie toutefois que JPA ne peut pas être utilisé à l'extérieur de Java EE, il a en fait un soutien explicite pour Java SE.
@Arjan: bonne clarification, la situation est assez déroutante.
vous peut utiliser strud> EJBS dans Non Java EE Application Server avec le conteneur 3.1 Lite d'EJB - http://docs.oracle.com/javae/6/api/javax/ejb/embeddable/ejbcontainer.html . Ceci, cependant, n'est pas une caractéristique Java SE 7 (cela a fonctionné bien en Java SE 6) mais Java EE 6 API, donc si vous êtes en train de rester avec EJB 3.0 que vous n'avez besoin d'utiliser un serveur d'applications ou un implémentation caractéristiques spécifiques. p>
Tous les serveurs d'applications compatibles Java EE 6 doivent pouvoir exécuter en mode embarqué. p>
Vous n'avez pas besoin d'une version J2EE du SDK. Il n'y a rien comme ça. Jee est une spécification et il existe plusieurs fournisseurs qui l'appliquent comme Glassfish 3.x et JBoss 6/7. Notez que Tomcat est juste un conteneur de servlet, vous ne pouvez donc pas exécuter éjbs à l'intérieur.
Java ee version du SDK: oracle.com/technetwork/java/javae/downloads/.../a>
Lisez les commentaires de Baluscs dans Confusion sur Java SE et Java Ee pour comprendre ce que cela signifie. De plus, Java SE est également une spécification, plusieurs fournisseurs qui le mettent en œuvre, comme Oracle Hotspot et OpenJDK .