У меня это работает со Glassfish 3.1.2 и простым приложением Java Swing UI.Хост / порт, указанный в TargetServer, похоже, игнорируется, мне пришлось установить системные свойства:
org.omg.CORBA.ORBInitialHost = hostname
org.omg.CORBA.ORBInitialPort = 2037
, чтобы получить соединение, поскольку я не работаю на портах по умолчанию.
Комуполучить все это для компиляции, это поможет, если Oracle задокументирует, что AppClientContainer и т. д. находятся в пакете:
org.glassfish.appclient.client.acc
, тогда вы можете найти, какие .jars необходимы для компиляции, а именно:
gf-client,jar, gf-client-module.jar, acc-config.jar
AppClientContainer.startClient пытается вызвать метод:
public static void main(String[] args)
в MyClient.class, который может быть не совсем тем, что вы хотите;В моем случае моя цель состоит в том, чтобы заставить это работать с приложением на основе Eclipse, которое также хотело бы "владеть" запуском.Кроме того, мне кажется, что среда OSGI, которая мне нужна, полностью расходится с ACC Glassfish и имеет собственный несовместимый механизм загрузки классов.
Хотя это необходимо для вызова startClient , главный метод не вызывается в отдельном потоке или чем-то особенном.Я обнаружил, что могу просто предоставить фиктивную магистраль, которая ничего не делает и имеет весь код моего приложения сразу после возврата вызова startClient .
Кажется, что вся эта реализация ACC является единственным поддерживаемым способом подключенияавтономный клиент для приложения, работающего на Glassfish 3. Это довольно неудовлетворительно по сравнению с простотой, доступной в v2.Огромный список .jars включает в себя всевозможные вещи, которые меня вообще не интересуют, действительно, при запуске я вижу это сообщение:
15-May-2012 17:49:27 com.sun.enterprise.v3.server.CommonClassLoaderServiceImpl findDerbyClient
INFO: Cannot find javadb client jar file, derby jdbc driver will not be available by default.
Также Oracle сбросил реализацию регистратора SLF4J в bean-validator.jar, который сталкивается с моей собственной предпочтительной реализацией, вызывая дальнейшее сообщение об ошибке.
Часто задаваемые вопросы по GlassJJ EJB в http://glassfish.java.net/javaee5/ejb/EJB_FAQ.html были обновлены для v3 и также могут помочь.