|
Здравствуйте, подскажите пожалуйста где можно достать материалы по курсу Кросс-платформенные и многозвенные технологии, о которых говориться, к примеру, в Лекции 2. Пример "Служба мгновенных сообщений" |
Опубликован: 18.03.2010 | Доступ: свободный | Студентов: 841 / 85 | Оценка: 4.48 / 4.33 | Длительность: 12:01:00
Тема: Программирование
Специальности: Администратор коммуникационных систем
Лекция 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.
