2016-08-26 1 views
0

Я хочу знать, что произойдет, если в пуле нет ejbs, и клиент пытается получить доступ к веб-службе, использующей ejb.Ejb-инъекция в веб-службе, когда в пуле нет экземпляра ejb

Мы получаем NPE в строке, где экземпляр ejb используется для вызова метода. К сожалению, сейчас у меня нет доступа к журналам, и я пытаюсь выяснить, что не так. Поэтому я думаю всеми возможными способами, и этот вопрос возник в моей голове.

Может ли кто-нибудь мне рассказать?

Я думаю, что веб-служба не будет инициализирована до тех пор, пока в пуле не появится экземпляр ejb. Поэтому в этом случае запрос будет поставлен в очередь, и через некоторое время клиент получит ошибку тайм-аута или соответствующее сообщение. Я прав?

P.S BTW, если это имеет значение, я вставляю ejb, используя аннотацию @EJB.

+0

Что вы подразумеваете под "веб-сервисом"? В частности, классы JAX-RS не имеют права на внедрение Java EE. –

ответ

0

Если вы используете ссылку на SLSB, инициализация - это просто прокси-сервер, экземпляр не требуется. Во время выполнения вызов пытается получить экземпляр из пула, если все задействованные экземпляры заняты, он будет блокироваться некоторое время (по умолчанию 5 секунд) и выбросить исключение в случае таймаута, иначе просто продолжить. Если вы получаете NPE, это кажется мне другой проблемой, когда вы не можете получить ссылку. Блондин с состоянием отличается, но я думаю, вы не используете его.

Я думаю, что это должно быть одинаково независимо от того, какой контейнер вы используете.

+0

Откуда взялось «5 секунд по умолчанию»? Насколько мне известно, WebSphere Application Server по умолчанию будет создавать новые экземпляры по мере необходимости. –

+0

JBoss/WildFly будет использовать StrictMaxPool, чтобы предотвратить слишком много экземпляров SLSB. В общем, это не проблема и воспрепятствовать повторному созданию экземпляров. Параметр пула может переопределить эти параметры – wfink

+0

Вопрос отмечен как «websphere» и «websphere-8», поэтому я не думаю, что поведение JBoss/WildFly здесь актуально. –

Смежные вопросы