2011-07-29 30 views
2

獲取follwing錯誤,當我運行通過螞蟻srcipt JUnit測試用例報告:不能激活SimpleNamingContextBuilder:已經有一個JNDI供應商註冊

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

我已經啓用了JNDI dat在Hibernate配置文件中導致2 jndi引用並導致JNDI/JVM綁定異常。