Невозможно активировать SimpleNamingContextBuilder: уже зарегистрирован провайдер JNDI - PullRequest
2 голосов
/ 29 июля 2011

Получение следующей ошибки при запуске отчета тестового примера junit через ant srcipt:

Cannot activate SimpleNamingContextBuilder: there is already a JNDI provider registered. Note that JNDI is a JVM-wide service, shared at the JVM system class loader level, with no reset option. As a consequence, a JNDI provider must only be registered once per JVM.

java.lang.IllegalStateException: Cannot activate SimpleNamingContextBuilder: there is already a JNDI provider registered. Note that JNDI is a JVM-wide service, shared at the JVM system class loader level, with no reset option. As a consequence, a JNDI provider must only be registered once per JVM.
at org.springframework.mock.jndi.SimpleNamingContextBuilder.activate(SimpleNamingContextBuilder.java:135)
at org.springframework.mock.jndi.SimpleNamingContextBuilder.emptyActivatedContextBuilder(SimpleNamingContextBuilder.java:113)
at com.bgc.ecm.core.test.ElNinoAbstractTestCase.prepareTestInstance(ElNinoAbstractTestCase.java:216)
at org.springframework.test.AbstractSingleSpringContextTests.setUp(AbstractSingleSpringContextTests.java:100)
at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76)
at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)

Код:

 this.callerContext = (CallerContext) getApplicationContext().getBean("CallerContext");
 assertNotNull(this.callerContext);
 SimpleNamingContextBuilder builder =    
 SimpleNamingContextBuilder.emptyActivatedContextBuilder();

Цель Junit:

<junit printsummary="on" fork="yes" forkmode="perBatch" haltonfailure="false" failureproperty="junit.failure" showoutput="false">
    <classpath>
        <path refid="CLASSPATH_JUNIT"/>         
    </classpath>
    <batchtest fork="no"  todir="${TEST_BUILD_DIR}">
       <fileset dir="${APP_DIR_CORE}\src\test">
          <include name="**/*Test.java" />
          <include name="**/Test*.java" />
       </fileset>
    </batchtest>
</junit>

1 Ответ

1 голос
/ 04 августа 2011

Я включил источник данных JNDI в файле конфигурации Hibernate, который вызывает ссылку на 2 jndi и вызывает исключение привязки JNDI / JVM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...