EJB удаленное приложение-клиент - PullRequest
1 голос
/ 03 октября 2010

Я запускаю новый корпоративный проект и использую Glassfish 3 в качестве сервера приложений и NetBeans 6.9 в качестве IDE. У меня есть EJBs, к которому я хочу получить удаленный доступ из приложения Swing на рабочем столе. У AFAIK есть два варианта - либо использовать обычный поиск JNDI, либо запустить приложение Swing в контейнере приложения-клиента и использовать аннотации @EJB. Я успешно попробовал первый вариант, но мне пришлось скопировать все библиотеки glassfish, чтобы удовлетворить зависимости (около 50 МБ, что я не нахожу нормальным). Сейчас я попробую второй вариант. В NetBeans я создаю новый проект Enterprise Application Client, добавляю EJB-проект в качестве зависимости и нажимаю run. Я получаю следующее исключение: Sniffers with type [ejb] and type [appclient] should not claim the archive at the same time. Теперь, если я уберу флажок package рядом с проектом EJB в свойствах проекта клиента приложения, я получу другое исключение ClassNotFound для моего удаленного интерфейса.

Я чувствую себя застрявшим :( Могут ли некоторые более опытные парни сказать мне, как они получают доступ к своим EJB-компонентам удаленно, используя Glassfish 3? Как я уже писал выше, у меня получается первый вариант, но 50 МБ слишком много в Мое мнение для простого клиента.

Изменить: Какой подход вы бы выбрали для развертывания и удаленного доступа с клиента, если у вас есть бизнес-логика в ejbs на удаленном сервере?

Спасибо за любые ваши предложения!

Желаю тебе всего наилучшего, Петар

1 Ответ

1 голос
/ 04 октября 2010

Я думаю, что лучший подход в вашем случае - создать сервлет (или какой-либо другой легкий простой компонент) на вашем сервере и заставить этого парня общаться с вашим EJB.Если вы выберете этот случай, вы изолируете связь клиент / сервер и реализацию вашей бизнес-логики.

...