1 Мова програмування Java та технології J2EE EJB lookup Сирота О.П.

Презентация:



Advertisements
Похожие презентации
EJB Environment Кряжев Василий
Advertisements

Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе)
Evgeniy Krivosheev Vyacheslav Yakovenko Last update: Feb, 2012 Spring Framework Module 4 – JNDI.
Рассматриваемые темы Технология EJB Типы EJB Вызов EJB Сборка и развертывание EJB- приложения 2-1.
Test 14 Вопрос 1. class Main { public void method() { static class One { public One() { System.out.println("From one"); } } public static void main(String...
Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе)
Delivering Excellence in Software Engineering ® EPAM Systems. All rights reserved. Contexts and Dependency Injection in Java EE 6 Елена Сирота Руководитель.
Contexts and Dependency Injection in Java EE 6 Сирота Е.П.
© 2006 IBM Corporation Made available under the EPL v WebSphere Services Technical Conference world class skill building and technical enablement.
Work with server by XMLRPC – library in Java For students Author: Dudnik Oxana.
WORK WITH XML-files in Java Для студентов старших курсов университетов Ст.преподаватель Дудник О.А.
1 © Luxoft Training 2013 Spring Framework Module 10 JMS & EJB.
Пользовательские действия (custom actions) в JSP. JSTL.
Web - сервисы. Веб-служба, веб-сервис (англ. web service) идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.англ.веб-адресоминтерфейсами.
Test15 Вопрос 1. class AClass { } public class Test { public static void main (String... args) { ArrayList a = new ArrayList (); AClass aaaClass = new.
Enterprise Java Beans For students of universities Author: Oxana Dunik.
Test 9 Вопрос 1. public class A { private String runNow() { return "High"; } static class B extends A { public String runNow() { return "Low"; } } public.
Hibernate&EJB3 Studybook For students of university Author Sr.Java developer Dudnik Oxana.
Test 8 Вопрос 1. class Class1 { Class1(int i) { System.out.println("Class1(int)"); } public class Class2 extends Class1 { Class2(double d) { // 1 this((int)
Введение в JAVA. Java Java – язык программирования: объектно-ориентированный кроссплатформенный строго-типизированный.
Транксрипт:

1 Мова програмування Java та технології J2EE EJB lookup Сирота О.П.

Рассмотрим на примере поиск EJB-компонентов из тех объектов, жизненным циклом которых не управляет контейнер например, из слоя «команды» веб-приложения В примере рассматриваются следующие модули: 2

EJB Module 3

EJB component source public interface TestSessionFacade { String sayHello(); public interface TestSessionFacadeLocal extends TestSessionFacade { public interface TestSessionFacadeRemote extends TestSessionFacade{ public class TestSessionFacadeBean implements TestSessionFacadeRemote, TestSessionFacadeLocal { public String sayHello() {return "Hello";} } 4

Enterprise Archive 5

Web Module 6

Lookup EJB in Web Module Как найти EJB-компонент – для объектов, жизненным циклом которых не управляет контейнер? web.xml … TestSessFacade Session epam.dao.TestSessionFacadeLocal Использование public class TestCaller { public String execute() throws NamingException { TestSessionFacadeLocal res = (TestSessionFacadeLocal) new InitialContext().lookup("java:comp/env/TestSessFacade"); return res.sayHello(); } 7 Работает в Java EE 6 Работает в Java EE 5 Для подключения по удаленному интерфейсу TestSessFacade Session epam.dao.TestSessionFacadeRemote

Lookup EJB Component (Java EE 6 Only) Как найти EJB-компонент – для объектов, жизненным циклом которых не управляет контейнер? Подсмотрите Portable JNDI names, которые получает EJB-компонент во время загрузки приложения INFO: Portable JNDI names for EJB TestSessionFacadeBean : [java:global/EnterpriseApp/EJBApp/TestSessionFacadeBean!epam.dao.TestSessionFa cadeLocal, java:global/EnterpriseApp/EJBApp/TestSessionFacadeBean!epam.dao.TestSessionFac adeRemote] Использование public class TestCaller { public String execute() throws NamingException { TestSessionFacadeLocal res = (TestSessionFacadeLocal)new InitialContext(). lookup("java:app/EJBApp/TestSessionFacadeBean!epam.dao.TestSessionFacadeLocal" ); return res.sayHello(); } 8 Работает в Java EE 6

Non-portable JNDI Names Каждый сервер приложений дает EJB-компонентам non-portable JNDI names (имена, специфичные для сервера приложений) Например, Glassfish именует ссылки на Remote EJB Interface следующим образом (по interface class name): TestSessionFacadeRemote facade =(TestSessionFacadeRemote) new InitialContext().lookup(TestSessionFacadeRemote.class.getName()); 9

Дополнительная информация try/portable_global_jndi_names try/portable_global_jndi_names Q.html#POJOLocalEJB Q.html#POJOLocalEJB 10