EJB - Maison/à Distance et home locale/Local interfaces
La révision de certaines passé les examens pour un examen principalement l'accent sur la composante orientée vers la conception et J2EE, je suis venu à travers la question suivante:
D'une enquête préliminaire du scénario 3: “Demande d'Échange” suggère que les deux Ejb fournira une solution adaptée: un session bean a appelé EnterExchangeRequest de contrôler le traitement et d'un bean entité appelée ExchangeRequest pour représenter les propriétés persistantes de la demande. Discuter du rôle des interfaces suivantes:
- Maison
- Distance
- Home locale
- Local
et de la façon de fournir l'accès aux services de l'Ejb décrit ci-dessus.
Je pourrais essayer d'expliquer comment Home
et Remote
interfaces être dans la photo. J'ai aussi entendu le professeur dire que l'on pouvait remplacer Home
par LocalHome
, et Remote
par Local
(pourquoi?), mais pourquoi sont-ils me demander de discuter du rôle de tous les quatre en même temps?
Puis-je l'avoir raison quand je dis, la conteneur d'EJB (le serveur d'application) permettrait de voir qu'une interface est Home
ou Remote
et de décider ensuite que la fève peut en "direct" sur n'importe quelle machine du cluster, tandis que dans le cas où les interfaces sont LocalHome
et Local
le conteneur savoir que les haricots ne peuvent pas être distribués sur plusieurs machines et donc de les garder "en vie" dans une machine?
Je suis totalement perdu dans cette entreprise Java jungle. Je suis en train de vivre un BeanOverflow. Pourriez-vous me dire lequel de mes hypothèses sont fausses, mon les idées fausses et les bévues.
Merci à tous ceux qui sont prêts à m'aider avec ces EJB interfaces.
P. S. Notez que je ne vous demande pas de répondre à la question à partir de la dernière feuille d'examen. Juste curieux de savoir si vous avez des idées quant à ce que pourraient-ils être après, lors de la demande.
Je crois que vous vous les hommes, je vais avoir BeanOverflow 🙂
OriginalL'auteur Peter Perháč | 2009-05-26
Vous devez vous connecter pour publier un commentaire.
D'accueil est responsable de la création de la Télécommande (un peu comme son constructeur) et home locale et Locale ont la même relation.
Dans chaque cas, le conteneur est de vous donner un proxy qui fait référence au réel de l'EJB classe que vous écrivez.
Si je devais deviner, ce que la question a été à la recherche pour l'utilisation de la télédétection pour la session bean et locales pour l'entity bean.
De toute façon, même si ces concepts existent toujours, les choses ont été beaucoup mieux simplifiée dans les EJB3.
EDIT: En réponse à l'observation, avec EJB3, le haricot classe elle-même peut mettre en œuvre la distance et de la maison des interfaces directement (pour les beans de session). Ils sont faits d'EJB avec une seule annotation. Stateful fèves, quelques annotations à traiter les questions de l'état. Les beans entité n'ont pas une interface à la Maison, et n'ont pas besoin d'une interface locale, vous pouvez interagir avec l'objet java directement. Il y a un EntityManager qui récupère le droit de l'entité haricots basé sur une requête, et que l'EntityManager est injecté via une annotation.
Ce genre de, il résume en un paragraphe. Il y a de grandes tutoriels sur le web pour ce genre de choses, mais les Ejb en général de résoudre une classe de problème qui est difficile à apprécier, à moins que vous traitez le problème. Ils ne sont pas la seule façon de le résoudre, mais à moins de faire face à ce type de programmation, il suffit de lire à ce sujet ne sera pas vraiment vous aider à y rapportent.
Re: MODIFIER, classes de haricots ne doivent pas mettre en œuvre l'interface d'accueil. Mon explication de simplifications serait: EJB 3, JPA remplace efficacement les beans entité, mais si vous utilisez des haricots d'entité, vous devez toujours utiliser une interface à la maison. Beans de session sans état n'avez pas besoin d'une interface à la maison, et si l'on n'est pas définie, l'entreprise de l'interface peut être regardé directement à partir de JNDI et mis en cache. Stateful session beans aussi ne pas besoin d'une interface à la maison, mais si une interface à la maison n'est pas utilisé, recherche JNDI doit être utilisé comme "usine".
OriginalL'auteur Yishai
Comme l'a souligné Yishay, à la Maison/à Distance et home locale/Local sont attachés ensemble et la Maison des fonctions de l'interface en tant que constructeur.
Locales, les haricots sont liés à la JVM ils vivent, vous ne pouvez pas y avoir accès de l'extérieur. À distance de haricots peut être accessible à partir d'autres machines virtuelles.
Je utiliser une approche similaire: j'ai toujours déployer les oreilles. Des fèves à l'oreille-je faire locaux, les haricots destinées à l'utilisation par d'autres oreilles je faire à distance. Mais il est possible d'utiliser les locaux de haricots dans d'autres oreilles, aussi longtemps que le sont déployées dans la même JVM
OriginalL'auteur Salandur