Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个可以在 Tomcat 下独立运行的应用程序。目前,我使用 JNDI 来配置我的数据库端点。然而,JNDI 仅在应用程序在应用程序服务器下运行时才有效(在我的情况下为 Tomcat),因此当应用程序独立运行时,JNDI 调用失败,并且应用程序抛出异常。
有没有一种方法可以“模拟”JNDI 数据源,以便应用程序可以在没有应用服务器的情况下运行?如果是这样,我将如何去做?
干杯。
单机模式是否仅用于测试?还是它也是一种有效的操作模式?
如果仅用于测试,我会编写您自己的上下文工厂,它实现了一个最小的 InitialContextFactory 并在您的配置文件中指定该类。您的班级使用适当的资源响应请求。
如果它也是一种有效的操作模式,您可以将更多工作放入您的上下文工厂并将其用作应用服务器的代理。它确定应用服务器是否存在,如果存在,则将请求重定向到应用服务器。
如果你用谷歌搜索“Mocking JNDI”,有几个很好的例子来说明如何做到这一点。