2016-02-15 6 views
1

Я использую Arquillian в моем приложении, но любой тест не может развернуть, для всех испытаний у меня такая же ошибка:Arquillian Невозможно развернуть

org.jboss.arquillian.persistence.core.exception.DataSourceNotFoundException : Невозможно найти источник данных для данного имени: java:/analyticsTestDS

У меня есть в источнике данных standalone.xml, xa-datasource и конфигурации драйвера. Эта конфигурация работает в другом проекте, который использует один и тот же сервер для подключения в базе данных.

Это журнал Junit:

org.jboss.arquillian.persistence.core.exception.DataSourceNotFoundException: Unable to find data source for given name: java:/analyticsTestDS 
    at org.jboss.arquillian.persistence.core.datasource.JndiDataSourceProvider.lookupDataSource(JndiDataSourceProvider.java:62) 
... 
Caused by: javax.naming.NameNotFoundException; remaining name 'java:/analyticsTestDS' 
    at org.eclipse.jetty.jndi.local.localContextRoot.lookup(localContextRoot.java:490) 
    at org.eclipse.jetty.jndi.local.localContextRoot.lookup(localContextRoot.java:536) 
    at javax.naming.InitialContext.lookup(InitialContext.java:417) 
    at javax.naming.InitialContext.lookup(InitialContext.java:417) 
    at org.jboss.arquillian.persistence.core.datasource.JndiDataSourceProvider.lookupDataSource(JndiDataSourceProvider.java:58) 
    ... 86 more 

И это бревно Jboss:

... 
    [0m[0m11:50:43,832 INFO [org.jboss.resteasy.plugins.validation.AbstractValidatorContextResolver] (MSC service thread 1-7) Unable to find CDI supporting ValidatorFactory. Using default ValidatorFactory 
    [0m[0m11:50:43,973 INFO [org.wildfly.extension.undertow] (MSC service thread 1-7) JBAS017534: Registered web context: /test 
    [0m[0m11:50:44,117 INFO [org.jboss.as.server] (management-handler-thread - 2) JBAS018559: Deployed "test.war" (runtime-name : "test.war") 
    [0m[0m11:50:46,039 INFO [org.wildfly.extension.undertow] (MSC service thread 1-5) JBAS017535: Unregistered web context: /test 
    [0m[0m11:50:46,074 INFO [org.jboss.as.jpa] (ServerService Thread Pool -- 65) JBAS011410: Stopping Persistence Unit (phase 2 of 2) Service 'test.war#analytics-datasource' 
    [0m[0m11:50:46,079 INFO [org.infinispan.factories.GlobalComponentRegistry] (ServerService Thread Pool -- 65) ISPN000128: Infinispan version: Infinispan 'Infinium' 6.0.2.Final 
    [0m[0m11:50:46,322 INFO [org.infinispan.jmx.CacheJmxRegistration] (ServerService Thread Pool -- 65) ISPN000031: MBeans were successfully registered to the platform MBean server. 
    [0m[0m11:50:46,325 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 65) JBAS010281: Started local-query cache from hibernate container 
    [0m[0m11:50:46,331 INFO [org.jboss.weld.deployer] (MSC service thread 1-1) JBAS016009: Stopping weld service for deployment test.war 
    [0m[0m11:50:46,354 INFO [org.jboss.as.jpa] (ServerService Thread Pool -- 65) JBAS011410: Stopping Persistence Unit (phase 1 of 2) Service 'test.war#analytics-datasource' 
    [0m[0m11:50:46,365 INFO [org.jboss.as.clustering.infinispan] (MSC service thread 1-4) JBAS010282: Stopped local-query cache from hibernate container 
    [0m[0m11:50:46,476 INFO [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015877: Stopped deployment test.war (runtime-name: test.war) in 447ms 
    [0m[0m11:50:46,617 INFO [org.jboss.as.repository] (management-handler-thread - 2) JBAS014901: Content removed from location /usr/local/jboss/wildfly-8.2.1.Final/standalone/data/content/31/e043268729c5760564bfb64faec9b14c158cee/content 
    [0m[0m11:50:46,617 INFO [org.jboss.as.server] (management-handler-thread - 2) JBAS018558: Undeployed "test.war" (runtime-name: "test.war") 
    [0m[0m11:50:46,639 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-6) JBAS010409: Unbound data source [java:/analyticsDS] 
    [0m[0m11:50:46,639 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-3) JBAS010409: Unbound data source [java:jboss/datasources/ExampleDS] 
    [0m[0m11:50:46,640 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) JBAS010409: Unbound data source [java:/analyticsAuthDS] 
    [0m[0m11:50:46,642 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) JBAS010409: Unbound data source [java:/analyticsTestDS] 
    [0m[0m11:50:46,642 INFO [org.wildfly.extension.undertow] (MSC service thread 1-1) JBAS017532: Host default-host stopping 
    [0m[0m11:50:46,645 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) JBAS010409: Unbound data source [java:/analyticsTimerDS] 
    [0m[0m11:50:46,650 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) JBAS010418: Stopped Driver service with driver-name = h2 
    [0m[0m11:50:46,652 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-8) JBAS010418: Stopped Driver service with driver-name = postgresnoxa 
    [0m[0m11:50:46,652 INFO [org.wildfly.extension.undertow] (MSC service thread 1-7) JBAS017521: Undertow HTTP listener default suspending 
    [0m[33m11:50:46,652 WARN [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (ServerService Thread Pool -- 55) IJ000615: Destroying active connection in pool: analyticsTestDS ([email protected]) 
    [0m[33m11:50:46,653 WARN [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (ServerService Thread Pool -- 55) IJ000615: Destroying active connection in pool: analyticsTestDS ([email protected]) 
    [0m[33m11:50:46,653 WARN [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (ServerService Thread Pool -- 55) IJ000615: Destroying active connection in pool: analyticsTestDS ([email protected]) 
    [0m[0m11:50:46,653 INFO [org.wildfly.extension.undertow] (MSC service thread 1-7) JBAS017520: Undertow HTTP listener default stopped, was bound to /127.0.0.1:8080 
    [0m[0m11:50:46,663 INFO [org.wildfly.extension.undertow] (MSC service thread 1-8) JBAS017506: Undertow 1.1.8.Final stopping 
    [0m[0m11:50:46,668 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-2) JBAS010418: Stopped Driver service with driver-name = postgresql 
    [0m[0m11:50:46,683 INFO [org.jboss.as] (MSC service thread 1-7) JBAS015950: WildFly 8.2.1.Final "Tweek" stopped in 44ms 
    [0m 

И тест:

package com.atomsail.analytics.datasource.service; 

import static org.junit.Assert.assertNotNull; 

import java.io.File; 

import javax.ejb.EJB; 
import javax.ws.rs.core.MultivaluedHashMap; 
import javax.ws.rs.core.MultivaluedMap; 
import javax.ws.rs.core.Response; 

import org.jboss.arquillian.container.test.api.Deployment; 
import org.jboss.arquillian.junit.Arquillian; 
import org.jboss.arquillian.junit.InSequence; 
import org.jboss.arquillian.persistence.DataSource; 
import org.jboss.arquillian.persistence.UsingDataSet; 
import org.jboss.shrinkwrap.api.Archive; 
import org.jboss.shrinkwrap.api.ShrinkWrap; 
import org.jboss.shrinkwrap.api.spec.WebArchive; 
import org.jboss.shrinkwrap.resolver.api.maven.Maven; 
import org.jboss.shrinkwrap.resolver.api.maven.PomEquippedResolveStage; 
import org.junit.Test; 
import org.junit.runner.RunWith; 

import com.atomsail.analytics.datasource.dao.data.DatasourceDataDAOLocal; 
import com.atomsail.analytics.entities.datasourcedata.DatasourceData; 
import com.atomsail.analytics.test.jdbc.PostgresDBTestCase; 

@RunWith(Arquillian.class) 
@DataSource("java:/analyticsTestDS") 
@UsingDataSet("datasets/remove-data-dao.xml") 
public class RemoveDataServiceImplTest extends PostgresDBTestCase { 

    @Deployment 
    public static Archive<?> createTestArchive() { 

      PomEquippedResolveStage pom = Maven.resolver().loadPomFromFile("pom.xml"); 
      File[] commonsLang = pom.resolve(  "org.jadira.usertype:usertype.core", 
              "org.hibernate:hibernate-validator",             
              "org.apache.tika:tika-parsers", 
              "pentaho-kettle:kettle-core", 
              "pentaho-kettle:kettle-engine", 
              "pentaho:pentaho-metadata",                
              "org.scannotation:scannotation", 
              "com.amazonaws:aws-java-sdk-s3", 
              "monetdb:monetdb-jdbc", 
              "pentaho:metastore", 
              "simple-jndi:simple-jndi", 
              "joda-time:joda-time").withTransitivity().asFile(); 

      System.out.println(commonsLang.toString()); 

      WebArchive war = ShrinkWrap.create(WebArchive.class, "test.war") 
             .addPackages(true, "com.atomsail.analytics.datasource") 
             .addAsResource("META-INF/test-persistence.xml", "META-INF/persistence.xml") 
             .addAsWebInfResource("ejb/remove-data-jboss-ejb3.xml", "jboss-ejb3.xml") 
             .addAsWebInfResource("test-web.xml", "web.xml") 
             .addAsResource("truncate_all_app.sql") 
             .addAsLibraries(commonsLang); 

      System.out.println(war.toString(true));   
     return war; 
    } 

    private String baseURL = getBaseURL(); 

    @EJB 
    private DatasourceDataDAOLocal datasourceDataDao; 

    @Test 
    @InSequence(1) 
    public void removeData() { 

     assertNotNull(datasourceDataDao); 

     // more code here 

    } 

    @Override 
    protected String dropDDLScript() { 
     return "truncate_all_app.sql"; 
    } 

} 

Мой arquillian.xml

<?xml version="1.0" encoding="UTF-8"?> 
<arquillian xmlns="http://jboss.org/schema/arquillian" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd"> 

    <defaultProtocol type="Servlet 3.0" /> 
    <container qualifier="jboss" default="true"> 
     <configuration> 
      <property name="jbossHome">/usr/local/jboss/wildfly-8.2.1.Final</property> 
      <property name="javaVmArguments">-Xms512m -Xmx3048m</property> 
     </configuration> 
    </container> 

</arquillian> 
+0

Что находится в файле arquillian.xml? Вероятно, вы не используете файл standalone.xml для запуска сервера. Вы можете сказать, что wildfly использует правильный файл, или вы можете использовать файл -ds.xml в своей войне с развертыванием. – LightGuard

+0

@LightGuard Я уже пробовал использовать -ds.xml, но я получаю ту же ошибку Вставить тестовое развертывание **. AddAsWebInfResource ("wildfly-ds.xml") ** –

ответ

0

В вашем arquillian.xml вы можете добавить конфигурацию это сказать wildfly который XML конфигурации для использования:

<container qualifier="jboss" default="true"> 
    <configuration> 
     <property name="jbossHome">${jboss.home}</property> 
     <property name="serverConfig">standalone-full.xml</property> 
     <!-- uncomment below for debugging 
     <property name="javaVmArguments">-Xmx512m -XX:MaxPermSize=128m -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8787</property> 
     --> 
    </configuration> 
</container> 

Очевидно, что если вы используете что-то другое не основное развертывание wildfly затем изменит путь к файлу, но это должно сказать wildfly, какую версию использовать, если у вас уже есть ваши источники данных.

Смежные вопросы