Поскольку EJB компоненты являются распределенными
Поскольку EJB компоненты являются распределенными компонентами, процесс установки должен также создавать некотые клиентские якоря для вызова EJB компонент. Эти классы должны помещаться в classpath клиентского приложения. Поскольку EJB компоненты могут реализовываться поверх RMI-IIOP (CORBA) или RMI-JRMP, генерируемые якоря могут различаться в зависимости от EJB Контейнера, тем не менее, они являются генерируемыми классами.
Когда клиентмкая программа хочет вызвать EJB, она должна найти EJB компонент внутри JNDI и получить ссылку на домашний интерфейс EJB компонента. Домашний интерфейс используется для создания экземпляра EJB.
В этом примере клиентская программа - это простая Java программа, но вы должны помнить, что она так же легко может быть сервлетом, JSP или даже распределенным объектом CORBA или RMI.
//: c15:ejb:PerfectTimeClient.java
// Клиентская программа для PerfectTimeBean
public class PerfectTimeClient { public static void main(String[] args) throws Exception { // Получение контекста JNDI с помощью
// JNDI службы Указания Имен:
javax.naming.Context context = new javax.naming.InitialContext(); // Поиск Домашнего интерфейса в
// службе JNDI Naming:
Object ref = context.lookup("perfectTime"); // Приведение удаленного объекта к домашнему итерфейсу:
PerfectTimeHome home = (PerfectTimeHome) javax.rmi.PortableRemoteObject.narrow( ref, PerfectTimeHome.class); // Создание удаленного объекта из домашнего интерфейса:
PerfectTime pt = home.create(); // Вызов getPerfectTime()
System.out.println( "Perfect Time EJB invoked, time is: " + pt.getPerfectTime() ); } } ///:~
Последовательность выполняемых действий поясняется комментариями. Обратите внимание на использование метода
narrow( ) для совершения приведения объекта перед выполнением Java приведения. Это очень похоже на то, что происходит в CORBA. Также обратите внимание, что Домашний объект становится фабрикой для объекта
PerfectTime.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий