我如何在 Tomcat 9 中绑定和 ejb?

How do I bind and ejb in Tomcat 9?

我有一个相当旧的 WAR/EAR 文件,有人告诉我将其从遗留服务器迁移到新的基于 Solaris 的 Tomcat 9 安装。

我在 catalina.out 中遇到错误:

Exception:An exception has been raised in UserManagerBD constructor:Name [ejb/UserManagerEJB] is not bound in this Context. Unable to find [ejb].

有什么解决办法吗?我没有所有可用的源代码,因此无法重新编译。

Tomcat 不提供 EJB 支持:

Tomcat only provides the Servlet container and a few other APIs, such as JDBC Connection pools (Datasources). It does not provide a transaction manager, EJB container, and other APIS and components from a complete, certified Java EE or Jakarta EE application server.

改用WildFly or TomEE

The OpenSource project for JBoss EAP is WildFly

The Apache Foundation also provides TomEE, which is Tomcat + the remaining Java EE APIs and services

另一种选择是Installing TomEE using war

TomEE can be setup by deploying a .war file into an existing Tomcat installation, as opposed to using the all-in-one bundle