Дело не в том, в чем разница между Spring bean и EJB, а в том, как управляется .
Простые EJBeans или Spring bean-компоненты не имеют никакой особой магии или функциональности.,Связанные функциональные возможности реализованы в среде, в которой выполняются bean-компоненты.
Когда вы запускаете приложение Spring в Tomcat, вы фактически запускаете кучу вещей из среды Spring, которая заставляет Spring bean-компоненты работать, поэтому не только bean-компоненты, но и множество другого кодаКроме того, это обеспечивает автоматическое подключение сервисов, компонентов и т. д.
Однако, когда вы реализуете JavaEE с EJB, все, что вы развертываете, состоит только из вашего бизнес-кода и bean-компонентов, а не чего-то вроде Spring с также включена логика управления .
Итак, EJB / JavaEE, вам нужно отдельно управлять этим инструментом, и поэтому простого Tomcat недостаточно для EJB.Вам необходим J2EE-контейнер , в котором вы, например, запускаете свои EJB-компоненты - TomEE , который является расширением, имеющим OpenEJB с Tomcat, или просматриваете список Сертифицированных ссылочных сред выполнения (примерно в середине википейджа за ссылкой).
См. также это и это связано более или менее.