0

在我的应用程序中,我通过 JndiObjectFactoryBean 使用 Spring IOC 注入一些基于 EJB 的服务,如下所述,因此在运行 junit 期间,我收到此异常“java.lang.IllegalArgumentException:此 JNDI 操作未由 JNDI 提供程序实现。 "

请让我知道我将如何为 Junit 配置。

<bean id="xxxMenuItemService"   class="xxxMenuItemServiceyyy">
    <property name="xxxMenuItemDelegator" ref="xxxMenuItemDelegator" /> 
</bean>
<bean id="approveMenuItemServiceRemote"
    class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName"
        value="ejb/XXXXXXXX" />
4

1 回答 1

0

查看SimpleNamingContextBuilderfrom org.springframework.mock,因为它提供了一个完整的上下文构建器,您可以在其中绑定模拟或其他对象以供 Spring 的 JNDI 查找使用。

要做的一件事是确保在 JUnit 4SimpleNamingContextBuilder的静态@BeforeClass中构建。这意味着它在 Spring Application Context 启动之前已全部初始化并等待,并且您不会有任何 JNDI 查找失败。

于 2013-08-09T12:49:32.767 回答