Первое подключение к Glassfish v3 идет медленно - PullRequest
4 голосов
/ 14 сентября 2010

При попытке подключиться к Glassfish v3 из приложения Swing в первый раз это происходит очень медленно. Занимает 4-10 секунд. На стороне клиента:

public void myMethod(){
    NewSessionBeanRemote facade;
    try {
        InitialContext ic = new InitialContext();
        facade = (NewSessionBeanRemote) ic.lookup(NewSessionBeanRemote.class.getName());
        target.setText(facade.businessMethod());
    } catch (NamingException ex) {
        ex.printStackTrace();
    }
}

На стороне сервера:

@Stateless
public class NewSessionBean implements NewSessionBeanRemote {

    @Override
    public String businessMethod() {
        return String.valueOf(Math.random() + 121 + 300);
    }
}

@Remote
public interface NewSessionBeanRemote {

    String businessMethod();

}

Что мне нужно изменить в среде?

Ответы [ 2 ]

0 голосов
/ 24 июля 2013

Так работает Java EE. Когда страница вызывается впервые, все JSP компилируются и создаются все компоненты EJB. Даже если вы отключите отложенную инициализацию, вам придется ждать столько же времени при запуске.

Цитата из wikipedia.org https://en.wikipedia.org/wiki/JavaServer_Pages#Compiler

Компилятор JavaServer Pages - это программа, которая анализирует JSP и превращает их в исполняемые Java-сервлеты. Программа такого типа обычно встраивается в сервер приложений и запускается автоматически при первом обращении к JSP, но страницы также могут быть предварительно скомпилированы для лучшей производительности, или скомпилирован как часть процесса сборки тест на ошибки.

Если хотите, вы можете попробовать предварительно скомпилировать все и посмотреть, работает ли оно лучше:

http://www.avajava.com/tutorials/lessons/how-do-i-precompile-my-jsps.html

0 голосов
/ 14 сентября 2010

При попытке подключиться к Glassfish v3 из приложения Swing в первый раз это происходит очень медленно.

Может быть из-за отложенной инициализации служб сервера приложений (EJB-контейнер, пул соединений, ...).

Принимает 410 секунд.

А как насчет последующих звонков?

...