Я также хотел бы знать, почему объединенные EJB отсутствуют. Но я хочу знать, почему они объединены, а не создаются и уничтожаются по требованию. Тот факт, что экземпляры могут повторно использоваться для несвязанных запросов, значительно усложняет реализацию фагов без состояния (это означает, что вы должны быть невероятно осторожны в использовании полей экземпляра), и я не вижу в этом существенной выгоды.
В частности, я не вижу никаких преимуществ в области производительности. Я просунул реализацию фаз без апатии в JBoss (6, IIRC), и его единственный экземпляр компонента, который объединен; водопровод для обработки вызова метода воссоздается с нуля каждый раз, когда он используется. Это означает, что единственное сохранение производительности - это создание одного объекта, которое должно быть тривиальным временем. Единственная ситуация, в которой я вижу, что это нетривиальная, - это то, что bean приобретает тяжеловесные ресурсы и удерживает их между вызовами. Однако в этом случае компонент действительно используется как прославленный, плохо управляемый пул; правильным решением было бы объединение ресурсов напрямую!
Теперь EJB существует уже давно. Когда они впервые появились, создание объекта было дорогостоящим, поэтому было разумно объединить их. Но эти дни давно прошли. Почему в EJB3 не было сброшено объединение?
Если он не имеет гражданства, тогда не существует состояния, которому угрожает параллелизм, тогда никакие условия гонки не могут появиться, следовательно, они являются потокобезопасными, я не прав? Да, я знаю, что у них есть какое-то состояние, например, вложенные ресурсы, но тогда, возможно, их нельзя называть апатридом! :) Я отвечаю правильно. – edutesoy
@edutesoy Я согласен с вашим объяснением. Но почему государство поддерживается тогда. –