Jpa 将eclipselink与jboss eap 6集成时出现堆栈溢出

Jpa 将eclipselink与jboss eap 6集成时出现堆栈溢出,jpa,eclipselink,jboss-eap-6,Jpa,Eclipselink,Jboss Eap 6,我试图在JBossEAP6.3上部署一个配置了eclipse链接作为jpa提供者的应用程序 但EclipseLink和jboss之间似乎存在问题,因为我在部署时遇到了stackoverflow错误 Failed to define class org.eclipse.persistence.internal.weaving.WeaverLogger in Module "deployment.test-service.war:main" from Service Module Loader: j

我试图在JBossEAP6.3上部署一个配置了eclipse链接作为jpa提供者的应用程序 但EclipseLink和jboss之间似乎存在问题,因为我在部署时遇到了stackoverflow错误

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>

org.eclipse.persistence.jpa.PersistenceProvider
假的
mypom.xml(此项目将是另一个项目的依赖项)


4.0.0
com.maventest
测试应用程序
0.0.1-快照
../test应用程序
测试存储库
罐子
log4j
apache-log4j-extras
1.2.17
org.eclipse.persistence
org.eclipse.persistence.jpa
2.6.2
javax.transaction
jta
1.1
postgresql
postgresql
9.1-901-1.jdbc4
如有任何建议,将不胜感激
非常感谢

感谢Chris的回答,我通过在jboss eap中集成eclipse链接模块,成功地运行了jboss eap 6和EclipseLink

我需要创建一个新文件夹:JBOSS_uu2;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>

完整教程:和

此外,我的服务器在此之后运行平稳,但在尝试持久化任何数据“对象不是已知的实体类型”后,我遇到了一个新错误

问题是因为在persistence.xml中我有一行
false

eclipselink和jboss eap之间似乎存在类加载问题


我需要通过
属性明确声明实体

不清楚JVM有多少可用堆栈,因为错误堆栈中只有一行EclipseLink代码。尝试扩展容器的内存,或者您可以预先静态地编织应用程序。它可能与Jboss/wildfly上发布的其他stackoverlow异常有关:也可能与指示eclipselink.archive.factory系统属性需要设置的内容有关,如@Chris Thank you very man所述。你的帮助真的很宝贵!
  <?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>