Как подключить удаленный модуль EJB из приложения-клиента - PullRequest
14 голосов
/ 07 июня 2010

У меня есть модуль EJB на удаленном сервере Glassfish и клиент приложения на моем компьютере.Я хочу подключиться от клиента приложения к удаленному EJB.

Вот мой интерфейс EJB:

@Remote
public interface BookEJBRemote
{
    public String getTitle();
}

Вот мой ejb:

@Stateless
public class BookEJB implements BookEJBRemote
{

    @Override
    public String getTitle()
    {
        return "Twenty Thousand Leagues Under the Sea";
    }
}

У меня есть несколько вопросов:

  1. Могу ли я использовать Dependency Injection в клиенте удаленного приложения для подключения к ejb?Если так, что я могу сделать, чтобы достигнуть этого.Нужно ли настраивать в файлах sun-ejb-jar.xml и sun-application-client.xml?Другими словами, если я использую Dependency Injection, как @EJB BookEJBRemote book;Как контейнер приложения-клиента знает, какой ejb нужно ввести?Где я должен указать информацию?
  2. Как запустить клиент приложения?Я попытался запустить package-appclient на сервере glassfish, чтобы получить appclient.jar и скопировать его на мой компьютер.Затем я набираю appclient.jar -client myAppClient.jar.Это не сработало.Как мне указать целевой сервер?
  3. , если я не могу использовать Dependency Injection в клиенте, тогда я предполагаю, что должен использовать поиск JNDI.Нужно ли мне настроить имя jndi в sun-ejb-jar.xml или в sun-application-client.xml?

Как я ни стараюсь, мне никогда не удается запустить приложение-клиент?Ребята, вы можете привести какой-нибудь рабочий пример?И спасибо за все советы и примеры?

1 Ответ

3 голосов
/ 07 июня 2010

Отметьте это руководство. Создание автономного клиента Java . В основном вам нужно

  • Настройте JNDI самостоятельно, поскольку ваш клиент не может использовать среду контейнеров.
  • Поиск удаленного интерфейса.
  • И, конечно, включите необходимые файлы jar в ваш путь к классу
...