Glassfish V3.x и удаленный автономный клиент - PullRequest
3 голосов
/ 30 ноября 2010

Абсолютно без проблем подключиться к ActiveMQ в качестве автономного клиента. Единственное, что вам нужно, это добавить activemq-all-5.4.1.jar , и вы идете ...

...
prop.put(Context.SECURITY_AUTHENTICATION , "system");
prop.put(Context.SECURITY_CREDENTIALS,"manager");
prop.put(Context.INITIAL_CONTEXT_FACTORY,"org.apache.activemq.jndi.ActiveMQInitialContextFactory");
prop.put(Context.PROVIDER_URL,"tcp://localhost:61616");
prop.put("connectionFactoryNames", "TopicCF");
prop.put("topic.topic1", "topic1");

InitialContext ctx = new InitialContext(prop);
...

Теперь вы хотите подключиться к Glassfish V3.x , и кажется невозможным получить правильные библиотеки и классы для подключения. Хотя это все еще было возможно в Glassfish V2.x, мне все же не удалось получить эквивалент вышеупомянутого кода для Glassfish!

...
Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.appserv.naming.S1ASCtxFactory");
properties.put(Context.PROVIDER_URL, "iiop://localhost:3700");
InitialContext context = new InitialContext(properties)
...

У кого-нибудь есть ответ на этот вопрос? Нет, я не хочу развертывать корпоративный клиент-приложение только для чтения из очереди Glassfish. Здесь есть похожие темы, но нигде не ведется.

Спасибо за любые советы

Sven

Ответы [ 3 ]

3 голосов
/ 16 апреля 2011

При подключении к Glassfish V3 нет необходимости предоставлять какие-либо свойства конструктору InitialContext. Вы можете просто использовать конструктор без аргументов. Чтобы указать имя сервера и порт, задайте свойства -Dorg.omg.CORBA.ORBInitialHost и -Dorg.omg.CORBA.ORBInitialPort на JVM соответственно.

Что касается библиотек, все, что вам нужно включить, это файл gf-client.jar. Его можно найти в $ GLASSFISH_HOME / lib. Этот jar-файл будет автоматически включать все остальные библиотеки.

Для получения дополнительной информации см. http://glassfish.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB. Хотя этот документ адресован с использованием EJB в автономном клиенте, те же решения применимы к использованию JMS.

3 голосов
/ 13 апреля 2011

Вот полный список клиентских банок для Glassfish 3:

auto-depends.jar
deployment-common.jar
glassfish-corba-internal-api.jar    
internal-api.jar
management-api.jar
bean-validator.jar
dol.jar
glassfish-corba-newtimer.jar        
javax.ejb.jar
orb-connector.jar
common-util.jar
ejb-container.jar
glassfish-corba-omgapi.jar      
javax.jms.jar
orb-iiop.jar
config-api.jar
ejb.security.jar
glassfish-corba-orb.jar
javax.resource.jar
security.jar
config-types.jar
glassfish-api.jar
glassfish-corba-orbgeneric.jar      
javax.servlet.jar
ssl-impl.jar
config.jar
glassfish-corba-asm.jar
glassfish-naming.jar
javax.transaction.jar
transaction-internal-api.jar
connectors-internal-api.jar     
glassfish-corba-codegen.jar     
gmbal.jar
jta.jar
container-common.jar
glassfish-corba-csiv2-idl.jar       
hk2-core.jar
kernel.jar
0 голосов
/ 21 апреля 2011

Вы можете посмотреть решение, которое я нашел, столкнувшись с совершенно такой же проблемой: С какими зависимостями maven я могу создать автономный клиент JMS для Glassfish?

...