Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 解决从Glassfish迁移到TomEE的Hibernate问题。数据源被创建,然后被销毁_Java_Hibernate_Jpa_Glassfish_Apache Tomee - Fatal编程技术网

Java 解决从Glassfish迁移到TomEE的Hibernate问题。数据源被创建,然后被销毁

Java 解决从Glassfish迁移到TomEE的Hibernate问题。数据源被创建,然后被销毁,java,hibernate,jpa,glassfish,apache-tomee,Java,Hibernate,Jpa,Glassfish,Apache Tomee,我们在尝试将工作的Hibrate 5应用程序从Glassfish 4迁移到Glassfish 5时遇到了麻烦。因此,我们正在尝试在其他JPA容器中部署 Tomee7就是这样一个JPA容器,我们的团队拥有Tomcat的经验。然而,Glassfish和TomEE之间的主要区别似乎是在战争中通过XML文件定义数据源,而不是通过管理控制台定义数据源 我们试图配置所述数据源的结果似乎是创建并链接到我们的应用程序,但随后立即调用销毁数据源,导致应用程序失败并卸载 resources.xml= <?x

我们在尝试将工作的Hibrate 5应用程序从Glassfish 4迁移到Glassfish 5时遇到了麻烦。因此,我们正在尝试在其他JPA容器中部署

Tomee7就是这样一个JPA容器,我们的团队拥有Tomcat的经验。然而,Glassfish和TomEE之间的主要区别似乎是在战争中通过XML文件定义数据源,而不是通过管理控制台定义数据源

我们试图配置所述数据源的结果似乎是创建并链接到我们的应用程序,但随后立即调用销毁数据源,导致应用程序失败并卸载


resources.xml=

<?xml version='1.0' encoding='UTF-8'?>
 <resources>
  <Resource id="topazDS" type="javax.sql.DataSource">
    jdbcDriver = oracle.jdbc.OracleDriver
    jdbcUrl = jdbc:oracle:thin:@dacracot.net:1521:DCCDB
    password = password
    passwordCipher = PlainText
    userName = topaz
  </Resource>
 </resources>

jdbcDriver=oracle.jdbc.OracleDriver
jdbcUrl=jdbc:oracle:thin:@dacracot.net:1521:DCCDB
密码=密码
密码=明文
用户名=黄玉

persistence.xml=

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <persistence-unit name="topazDB" transaction-type="JTA">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <jta-data-source>topazDS</jta-data-source>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
        <shared-cache-mode>ALL</shared-cache-mode>
        <properties>
            <property name="hibernate.ejb.entitymanager_factory_name" value="topaz"/>
            <property name="hibernate.connection.release_mode" value="auto" />
            <property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.SunOneJtaPlatform"/>
            <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.SunONETransactionManagerLookup"/>
            <property name="hibernate.transaction.factory_class" value="org.hibernate.transaction.JTATransactionFactory"/>
            <property name="hibernate.current_session_context_class" value="jta"/>
            <property name="hibernate.archive.autodetection" value="class"/>
            <property name="hibernate.show_sql" value="false" />
            <property name="hibernate.format_sql" value="false" />
            <property name="hibernate.use_sql_comments" value="false" />
            <property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory" />
            <property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider" />
            <property name="hibernate.cache.provider_configuration_file_resource_path" value="hibernate-ehcache.xml" />
            <property name="hibernate.cache.use_second_level_cache" value="true" />
            <property name="hibernate.cache.use_query_cache" value="true" />
            <property name="hibernate.cache.generate_statistics" value="true" />
            <property name="hibernate.cache.use_structured_queries" value="false" />
            <property name="hibernate.cache.use_minimal_puts" value="false" />
            <property name="hibernate.max_fetch_depth" value="3" />
        </properties>
    </persistence-unit>
</persistence>

org.hibernate.jpa.HibernatePersistenceProvider
托帕兹
假的
全部的

catalina.out=

02-Aug-2018 08:01:59.702 INFO [localhost-startStop-1] sun.reflect.DelegatingMethodAccessorImpl.invoke Deploying web application archive [/Users/dacracot/Desktop/TopazDev/apache-tomee-plume-7.0.5/webapps/topaz.war]
02-Aug-2018 08:01:59.708 INFO [localhost-startStop-1] org.apache.tomee.catalina.TomcatWebAppBuilder.init ------------------------- localhost -> /topaz
02-Aug-2018 08:01:59.710 INFO [localhost-startStop-1] org.apache.openejb.util.JarExtractor.extract Extracting jar: /Users/dacracot/Desktop/TopazDev/apache-tomee-plume-7.0.5/webapps/topaz.war
02-Aug-2018 08:02:01.019 INFO [localhost-startStop-1] org.apache.openejb.util.JarExtractor.extract Extracted path: /Users/dacracot/Desktop/TopazDev/apache-tomee-plume-7.0.5/webapps/topaz
02-Aug-2018 08:02:01.039 WARNING [localhost-startStop-1] org.apache.catalina.startup.SetContextPropertiesRule.begin [SetContextPropertiesRule]{Context} Setting property 'antiJARLocking' to 'true' did not find a matching property.
02-Aug-2018 08:02:09.714 INFO [localhost-startStop-1] org.apache.openejb.config.ConfigurationFactory.configureApplication Configuring enterprise application: /Users/dacracot/Desktop/TopazDev/apache-tomee-plume-7.0.5/webapps/topaz
02-Aug-2018 08:02:11.513 INFO [localhost-startStop-1] org.apache.openejb.config.ConfigurationFactory.configureService Configuring Service(id=topaz/topazDS, type=Resource, provider-id=Default JDBC Database)
02-Aug-2018 08:02:11.518 INFO [localhost-startStop-1] org.apache.openejb.assembler.classic.Assembler.createRecipe Creating Resource(id=topaz/topazDS)
02-Aug-2018 08:02:12.986 INFO [localhost-startStop-1] org.apache.openejb.config.ConfigurationFactory.configureService Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
02-Aug-2018 08:02:12.986 INFO [localhost-startStop-1] org.apache.openejb.config.AutoConfig.createContainer Auto-creating a container for bean topaz.Comp1690781744: Container(type=MANAGED, id=Default Managed Container)
02-Aug-2018 08:02:12.987 INFO [localhost-startStop-1] org.apache.openejb.assembler.classic.Assembler.createRecipe Creating Container(id=Default Managed Container)
02-Aug-2018 08:02:12.998 INFO [localhost-startStop-1] org.apache.openejb.core.managed.SimplePassivater.init Using directory /Users/dacracot/Desktop/TopazDev/tomee/temp for stateful session passivation
02-Aug-2018 08:02:13.017 INFO [localhost-startStop-1] org.apache.openejb.config.AutoConfig.processResourceRef Auto-linking resource-ref 'jdbc/topaz' in bean topaz.Comp1690781744 to Resource(id=topazDS)
02-Aug-2018 08:02:13.017 INFO [localhost-startStop-1] org.apache.openejb.config.AutoConfig.processResourceRef Auto-linking resource-ref 'openejb/Resource/topaz/topazDS' in bean topaz.Comp1690781744 to Resource(id=topaz/topazDS)
02-Aug-2018 08:02:13.018 INFO [localhost-startStop-1] org.apache.openejb.config.AutoConfig.processResourceRef Auto-linking resource-ref 'openejb/Resource/topazDS' in bean topaz.Comp1690781744 to Resource(id=topaz/topazDS)
02-Aug-2018 08:02:13.018 INFO [localhost-startStop-1] org.apache.openejb.config.AutoConfig.deploy Configuring PersistenceUnit(name=topazDB, provider=org.hibernate.jpa.HibernatePersistenceProvider)
02-Aug-2018 08:02:13.019 INFO [localhost-startStop-1] org.apache.openejb.config.AutoConfig.logAutoCreateResource Auto-creating a Resource with id 'topaz/topazDSNonJta' of type 'DataSource for 'topazDB'.
02-Aug-2018 08:02:13.019 INFO [localhost-startStop-1] org.apache.openejb.config.AutoConfig.deploy Configuring Service(id=topaz/topazDSNonJta, type=Resource, provider-id=topaz/topazDS)
02-Aug-2018 08:02:13.019 INFO [localhost-startStop-1] org.apache.openejb.assembler.classic.Assembler.createRecipe Creating Resource(id=topaz/topazDSNonJta)
02-Aug-2018 08:02:13.691 INFO [localhost-startStop-1] org.apache.openejb.config.AutoConfig.setJtaDataSource Adjusting PersistenceUnit topazDB <jta-data-source> to Resource ID 'topaz/topazDS' from 'topazDS'
02-Aug-2018 08:02:13.691 INFO [localhost-startStop-1] org.apache.openejb.config.AutoConfig.setNonJtaDataSource Adjusting PersistenceUnit topazDB <non-jta-data-source> to Resource ID 'topaz/topazDSNonJta' from 'null'
02-Aug-2018 08:02:13.705 INFO [localhost-startStop-1] org.apache.openejb.util.OptionsLog.info Using 'javax.persistence.provider=org.hibernate.ejb.HibernatePersistence'
02-Aug-2018 08:02:13.729 INFO [localhost-startStop-1] org.apache.openejb.config.AppInfoBuilder.build Enterprise application "/Users/dacracot/Desktop/TopazDev/apache-tomee-plume-7.0.5/webapps/topaz" loaded.
02-Aug-2018 08:02:13.734 INFO [localhost-startStop-1] org.apache.openejb.assembler.classic.Assembler.createApplication Assembling app: /Users/dacracot/Desktop/TopazDev/apache-tomee-plume-7.0.5/webapps/topaz
02-Aug-2018 08:02:13.761 INFO [localhost-startStop-1] org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createDelegate PersistenceUnit(name=topazDB, provider=org.hibernate.ejb.HibernatePersistence) - provider time 1ms
02-Aug-2018 08:02:13.761 INFO [localhost-startStop-1] org.apache.openejb.assembler.classic.Assembler.destroyApplication Undeploying app: /Users/dacracot/Desktop/TopazDev/apache-tomee-plume-7.0.5/webapps/topaz
02-Aug-2018 08:02:13.765 SEVERE [localhost-startStop-1] sun.reflect.NativeMethodAccessorImpl.invoke ContainerBase.removeChild: destroy: 
 org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_destroy]) for component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/topaz]] in state [STARTING_PREP]
    at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:402)
    at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292)
    at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:856)
    at org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1651)
    at org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1631)
    at org.apache.tomee.catalina.TomcatWebAppBuilder.undeployWebApps(TomcatWebAppBuilder.java:764)
    at org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:2374)
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:1092)
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:757)
    at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1303)
    at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1125)
    at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:985)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
2018年8月2日08:01:59.702信息[localhost-startStop-1]sun.reflect.DelegatingMethodAccessorImpl.invoke部署web应用程序归档[/Users/dacracot/Desktop/TopazDev/apache-tomee-plush-7.0.5/webapps/topaz.war]
2018年8月2日08:01:59.708信息[localhost-startStop-1]org.apache.tomee.catalina.TomcatWebAppBuilder.init-----------------localhost->/topaz
2018年8月2日08:01:59.710信息[localhost-startStop-1]org.apache.openejb.util.JarExtractor.extraction-jar:/Users/dacracot/Desktop/TopazDev/apache-tomee-plush-7.0.5/webapps/topaz.war
2018年8月2日08:02:01.019信息[localhost-startStop-1]org.apache.openejb.util.JarExtractor.extract提取路径:/Users/dacracot/Desktop/TopazDev/apache-tomee-plush-7.0.5/webapps/topaz
2018年8月2日08:02:01.039警告[localhost-startStop-1]org.apache.catalina.startup.SetContextPropertiesRule.begin[SetContextPropertiesRule]{Context}将属性“antiJARLocking”设置为“true”未找到匹配的属性。
2018年8月2日08:02:09.714信息[localhost-startStop-1]org.apache.openejb.config.ConfigurationFactory.configurationApplication配置企业应用程序:/Users/dacracot/Desktop/TopazDev/apache-tomee-plush-7.0.5/webapps/topaz
2018年8月2日08:02:11.513信息[localhost-startStop-1]org.apache.openejb.config.ConfigurationFactory.configureService配置服务(id=topaz/topazDS,type=Resource,provider id=Default JDBC数据库)
2018年8月2日08:02:11.518信息[localhost-startStop-1]org.apache.openejb.assembler.classic.assembler.createRecipe创建资源(id=topaz/topazDS)
2018年8月2日08:02:12.986信息[localhost-startStop-1]org.apache.openejb.config.ConfigurationFactory.configureService配置服务(id=默认托管容器,类型=容器,提供程序id=默认托管容器)
2018年8月2日08:02:12.986信息[localhost-startStop-1]org.apache.openejb.config.AutoConfig.createContainer自动为bean topaz创建容器。Comp1690781744:container(类型=托管,id=默认托管容器)
2018年8月2日08:02:12.987信息[localhost-startStop-1]org.apache.openejb.assembler.classic.assembler.createRecipe创建容器(id=默认托管容器)
2018年8月2日08:02:12.998信息[localhost-startStop-1]org.apache.openejb.core.managed.SimplePassivater.init使用目录/Users/dacracot/Desktop/TopazDev/tomee/temp进行状态会话钝化
2018年8月2日08:02:13.017信息[localhost-startStop-1]org.apache.openejb.config.AutoConfig.processResourceRef自动将bean topaz.Comp1690781744中的资源ref“jdbc/topaz”链接到资源(id=topazDS)
2018年8月2日08:02:13.017信息[localhost-startStop-1]org.apache.openejb.config.AutoConfig.processResourceRef自动将bean topaz.Comp1690781744中的资源ref'openejb/resource/topaz/topazDS'链接到资源(id=topaz/topazDS)
2018年8月2日08:02:13.018信息[localhost-startStop-1]org.apache.openejb.config.AutoConfig.processResourceRef自动将bean-topaz.Comp1690781744中的资源ref“openejb/resource/topazDS”链接到资源(id=topaz/topazDS)
2018年8月2日08:02:13.018信息[localhost-startStop-1]org.apache.openejb.config.AutoConfig.deploy配置持久化单元(name=topazDB,provider=org.hibernate.jpa.HibernatePersistenceProvider)
2018年8月2日08:02:13.019信息[localhost-startStop-1]org.apache.openejb.config.AutoConfig.logAutoCreateResource自动创建id为“topaz/topazDSNonJta”的资源,类型为“topazDB”的数据源。
2018年8月2日08:02:13.019信息[localhost-startStop-1]org.apache.openejb.config.AutoConfig.deploy配置服务(id=topaz/topazDSNonJta,type=Resource,provider id=topaz/topazDS)
2018年8月2日08:02:13.019信息[localhost-startStop-1]org.apache.openejb.assembler.classic.assembler.createRecipe创建资源(id=topaz/topazDSNonJta)
2018年8月2日08:02:13.691信息[localhost-startStop-1]org.apache.openejb.config.AutoConfig.setjtatasource将PersistenceUnit topazDB从“topazDS”调整为资源ID“topaz/topazDS”
2018年8月2日08:02:13.691信息[localhost-startStop-1]org.apache.openejb.config.AutoConfig.setnonjtatasource将PersistenceUnit topazDB从“null”调整为资源ID“topaz/topazDSNonJta”
2018年8月2日08:02:13.705信息[localhost-startStop-1]org.apache.openejb.util.OptionsLog.INFO使用“javax.persistence.provider=org.hibernate.ejb.HibernatePersistence”
2018年8月2日08:02:13.729信息[localhost-startStop-1]org.apache.openejb.config.AppInfoBuilder.build企业应用程序“/Users/dacracot/Desktop/TopazDev/apache-tomee-plush-7.0.5/webapps/topaz”已加载。
2018年8月2日08:02:13.734信息[本地主机启动]