2016-04-18 4 views
0

Я пытаюсь развернуть приложение, сконфигурированное с затмением ссылки в качестве поставщика JPA на jbosss еара 6.3 но, кажется, есть проблема между EclipseLink и JBoss, потому что я получаю ошибку StackOverflow при развертыванииStackOverflow при интегрировании EclipseLink с JBoss еаром 6

Failed to define class org.eclipse.persistence.internal.weaving.WeaverLogger in Module "deployment.test-service.war:main" from Service Module Loader: java.lang.StackOverflowError 
    at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0_74] 
    at org.jboss.as.server.deployment.module.VFSResourceLoader.getClassSpec(VFSResourceLoader.java:131) [jboss-as-server-7.4.1.Final-redhat-3.jar:7.4.1.Final-redhat-3] 
    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:268) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:92) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.Module.loadModuleClass(Module.java:568) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.eclipse.persistence.internal.jpa.weaving.PersistenceWeaver.transform(PersistenceWeaver.java:100) 
    at org.jboss.as.jpa.classloader.JPADelegatingClassFileTransformer.transform(JPADelegatingClassFileTransformer.java:48) [jboss-as-jpa-7.4.1.Final-redhat-3.jar:7.4.1.Final-redhat-3] 
    at org.jboss.as.server.deployment.module.DelegatingClassFileTransformer.transform(DelegatingClassFileTransformer.java:60) [jboss-as-server-7.4.1.Final-redhat-3.jar:7.4.1.Final-redhat-3] 
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:474) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:277) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:92) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.Module.loadModuleClass(Module.java:568) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.4.Final-redhat-1] 
    at org.eclipse.persistence.internal.jpa.weaving.PersistenceWeaver.transform(PersistenceWeaver.java:100) 

Нужно ли добавить конфигурацию в jboss (standalone.xml)?

Существует мой persistence.xml

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> 
    <persistence-unit name="unit" transaction-type="RESOURCE_LOCAL"> 
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
     <exclude-unlisted-classes>false</exclude-unlisted-classes> 
     <properties> 

      <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" /> 
      <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://*****" /> 
      <property name="javax.persistence.jdbc.user" value="*****" /> 
      <property name="javax.persistence.jdbc.password" value="****" /> 

      <!-- EclipseLink should create the database schema automatically --> 
      <property name="eclipselink.ddl-generation" value="create-tables" /> 
      <property name="eclipselink.ddl-generation.output-mode" value="database" /> 
      <property name="eclipselink.logging.level" value="SEVERE"/>     
     </properties> 

    </persistence-unit> 
</persistence> 

Мой pom.xml (этот проект будет зависимость другого)

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
     <modelVersion>4.0.0</modelVersion> 
     <parent> 
      <groupId>com.maventest</groupId> 
      <artifactId>test-app</artifactId> 
      <version>0.0.1-SNAPSHOT</version> 
      <relativePath>../test-app</relativePath> 
     </parent> 
     <artifactId>test-repository</artifactId> 
     <packaging>jar</packaging> 

     <dependencies> 
      <dependency> 
       <groupId>log4j</groupId> 
       <artifactId>apache-log4j-extras</artifactId> 
       <version>1.2.17</version> 
      </dependency> 
      <dependency> 
       <groupId>org.eclipse.persistence</groupId> 
       <artifactId>org.eclipse.persistence.jpa</artifactId> 
       <version>2.6.2</version> 
      </dependency> 
      <dependency> 
       <groupId>javax.transaction</groupId> 
       <artifactId>jta</artifactId> 
       <version>1.1</version> 
      </dependency> 
      <dependency> 
       <groupId>postgresql</groupId> 
       <artifactId>postgresql</artifactId> 
       <version>9.1-901-1.jdbc4</version> 
      </dependency> 

     </dependencies> 
    </project> 

Любые советы будут оценены Спасибо большое

+0

Сво не ясно, сколько стек у вас есть для вашей виртуальной машины Java, так как есть только одна строка EclipseLink кода в стеке ошибок. Попробуйте расширить память для своего контейнера, или вы можете перетащить приложение вверх по умолчанию https://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Static_Weaving – Chris

+1

Это может быть связано с другими исключениями stackoverlow, опубликованными на Jboss/wildfly: http://stackoverflow.com/questions/22983164/cant-deploy-java-ee-application-to-wildfly и http://stackoverflow.com/questions/22983164/cant-deploy-java-ee- application-to-wildfly Он также может быть связан с https://developer.jboss.org/thread/237357?start=0&tstart=0&_sscc=t, который указывает, что системное свойство eclipselink.archive.factory необходимо установить, как описано в https : //docs.jboss.org/author/display/WFLY8/JPA+Reference+Guide#JPAReferenceGuide-UsingEclipseLink – Chris

+0

@Chris Большое спасибо человеку. Ваша помощь была действительно ценной и драгоценной! – ulquiorra

ответ

0

спасибо Chris ответ, мне удалось запустить jboss eap 6 и EclipseLink, интегрировав eclipse lin k модуль внутри jboss eap

Мне нужно было создать новую папку: JBOSS_ HOME \ modules \ org \ eclipse \ persistence \ main и скопировать eclipselink.jar внутри. Тогда мне нужно, чтобы создать module.xml связанный

<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.1" name="org.eclipse.persistence"> 
    <resources> 
     <resource-root path="eclipselink.jar" /> 
    </resources> 
    <dependencies> 
     <module name="javax.api" /> 
     <module name="javax.persistence.api" /> 
     <module name="javax.transaction.api" /> 
     <module name="javax.validation.api" /> 
     <module name="javax.xml.bind.api" /> 
     <module name="org.antlr" /> 
     <module name="org.apache.commons.collections" /> 
     <module name="org.dom4j" /> 
     <module name="org.javassist" /> 
     <module name="org.jboss.logging" /> 
    </dependencies> 
</module> 

Полный учебник: https://docs.jboss.org/author/display/WFLY8/JPA+Reference+Guide#JPAReferenceGuide-UsingEclipseLink и http://www.eclipse.org/eclipselink/documentation/2.5/solutions/jboss002.htm

Кроме того Despites мой сервер протекал гладко после этого, но я получил новую ошибку после попытки сохраняющиеся каких-либо данных «объект не является известный тип объекта»

проблема заключалась в том, потому что в persistence.xml я имел линию <exclude-unlisted-classes>false</exclude-unlisted-classes>

кажется, есть проблема между EclipseLink загрузки классов ап d JBoss еар

мне нужно объявить явно объекты по <class> атрибуты

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