Здравствуйте, подскажите пожалуйста где можно достать материалы по курсу Кросс-платформенные и многозвенные технологии, о которых говориться, к примеру, в Лекции 2. Пример "Служба мгновенных сообщений" |
Опубликован: 18.03.2010 | Уровень: специалист | Доступ: платный
Лекция 4:
Технология Enterprise Java Beans. Часть 2
Тестовый клиент для компонента CommoditiesBean
Проверим работоспособность компонента при помощи простого тестового клиента. Вначале он получает все товары в магазине через метод findAll(), потом создает новый товар в магазине, удаляет его и, наконец, выполняет поиск по первичному ключу товара.
public class ShoppingBasketOrderClient { public static void main(String args[]) { try { Context jndiContext = createJBossContext(); Object ref = jndiContext.lookup("Commodities"); CommoditiesHome commoditiesHome = (CommoditiesHome) PortableRemoteObject.narrow(ref, CommoditiesHome.class); Collection col = commoditiesHome.findAll(); for (Iterator iter = col.iterator(); iter.hasNext();) { Commodities comm = (Commodities) iter.next(); System.out.println(comm.getName() + " " + comm.getPrice()); } Commodities commCr = commoditiesHome.create("Marijuana", "Finest American Blend", 6.50, null); System.out.println("Created - " + commCr.getName() + " " + commCr.getPrice()); commCr.remove(); Commodities commFound = commoditiesHome.findByPrimaryKey(new Integer(1)); System.out.println("Found - " + commFound.getName() + " " + commFound.getPrice()); } catch (NamingException e) { e.printStackTrace(); } catch (FinderException e) { e.printStackTrace(); } catch (RemoteException e) { e.printStackTrace(); } catch (CreateException e) { e.printStackTrace(); } catch (RemoveException e) { e.printStackTrace(); } } public static Context createJBossContext() throws NamingException { Properties p = new Properties(); p.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); p.put("java.naming.provider.url", "jnp://127.0.0.1:1099"); p.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces"); Context jndiContext = new InitialContext(p); return jndiContext; } }
После размещения компонента на сервере и запуска клиента, в консоль выведется нечто подобное изображенному на Рис. 4.24.