2017-12-05 8 views
0

埋め込みTomeeを使用してArquillianで永続性を持つセッションBeanをテストしようとしています。しかし、TomeeはデフォルトのHSQLDBデータソースに接続しようとします。組み込みTomeeでArquillianを使用してテストする:HSQLデータソースを削除するにはどうすればよいですか?

AFAIK、Tomeeに、HSQLDBデータソースがコメントされているtomee.xmlの使用を指示する必要があります。

どうすればarquillian.xmlを使用できますか?それとも別の方法がありますか?

私の展開方法:

@Deployment 
public static WebArchive createTestArchive() { 
    MavenResolverSystem resolver = Maven.resolver(); 
    File[] files = resolver.loadPomFromFile("pom.xml").importRuntimeDependencies().resolve().withTransitivity().asFile(); 

    for (File f : files) { 
     System.out.println(f.getPath()); 
    } 

    return ShrinkWrap.create(WebArchive.class) 
      .addClasses(MyBean.class) 
      .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml") 
      .addAsManifestResource("persistence.xml", "persistence.xml") 
      .addAsLibraries(files); 
} 

私のpersistence.xml:

<persistence-unit name="oracle"> 
    <provider>org.hibernate.ejb.HibernatePersistence</provider> 
    <properties> 
     <property name="hibernate.archive.autodetection" value="class" /> 
     <property name="hibernate.dialect" 
      value="org.hibernate.dialect.OracleDialect"/> 
     <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver" /> 
     <property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:ORADB" /> 
     <property name="hibernate.connection.username" value="gk2" /> 
     <property name="hibernate.connection.password" value="qwerty" /> 
     <!-- <property name="hibernate.show_sql" value="true"/> --> 
     <property name="hibernate.flushMode" value="FLUSH_AUTO" /> 
     <property name="hibernate.hbm2ddl.auto" value="validate" /> 
    </properties> 
</persistence-unit> 

マイarquillian.xml:

<container qualifier="tomee" default="true"> 
    <configuration> 
     <property name="httpPort">-1</property> 
     <property name="stopPort">-1</property> 
     <!--Optional Container Properties --> 
     <property name="properties"> 
     </property> 
    </configuration> 
</container> 

答えて

0

私は問題を発見しました。

データソースはarquillian.xmlで構成されるべきである:

 <property name="properties"> 
      oracle = new://Resource?type=DataSource 
      oracle.JdbcUrl = jdbc:oracle:thin:@localhost:1521:ORADB 
      oracle.JdbcDriver = oracle.jdbc.driver.OracleDriver 
      oracle.UserName = username 
      oracle.Password = password    
      ... 
     </property> 
関連する問題