से हाइबरनेट सत्र फैक्टरी अपवाद बनाने में असमर्थ मुझे हर बार जब मैं अपना आवेदन तैनात करना चाहता हूं तो मुझे एक अजीब त्रुटि दिखाई दे रही है। मैं IntelliJ IDEA 2016.3 का उपयोग कर रहा हूं।कहीं भी
मेरा एप्लिकेशन जेएसएफ, ईजेबी और जेपीए (हाइबरनेट) का उपयोग कर जावा वेब एप्लिकेशन है। सभी libs आईडीईए (इस परियोजना में कोई मेवेन) द्वारा डाउनलोड किए गए थे, सभी निर्भरताओं को .war फ़ाइल के साथ भेज दिया जाता है। मैं Windows 10 पर TomEE 7.0.2 करने के लिए की तैनाती कर रहा हूँ
यहाँ मेरी विन्यास तैनाती में शामिल फ़ाइलें हैं: resources.xml
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<Resource id="my_internet_shop_db" type="javax.sql.DataSource">
JdbcDriver com.mysql.jdbc.Driver
JdbcUrl jdbc:mysql://localhost:3306/my_internet_shop?autoReconnect=true&useSSL=true
UserName root
Password alpine
validationQuery = SELECT 1
JtaManaged true
</Resource>
</resources>
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
<persistence-unit name="my_internet_shop" transaction-type="JTA">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>my_internet_shop_db</jta-data-source>
<class>Objects.Order.CartEntity</class>
<class>Objects.User.ContactEntity</class>
<class>Objects.Order.OrderEntity</class>
<class>Objects.Product.ProductEntity</class>
<class>Objects.Section.SectionEntity</class>
<class>Objects.Service.ServiceEntity</class>
<class>Objects.User.UserEntity</class>
<properties>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/my_internet_shop"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value="alpine"/>
<property name="hibernate.archive.autodetection" value="class"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hbm2ddl.auto" value="update"/>
</properties>
</persistence-unit>
</persistence>
और मेरे स्टैकट्रेस:
org.apache.openejb.OpenEJBException: org.apache.openejb.OpenEJBRuntimeException: javax.persistence.PersistenceException: [PersistenceUnit: my_internet_shop] Unable to build Hibernate SessionFactory: javax.persistence.PersistenceException: [PersistenceUnit: my_internet_shop] Unable to build Hibernate SessionFactory
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:872)
... 65 more
Caused by: org.apache.openejb.OpenEJBRuntimeException: javax.persistence.PersistenceException: [PersistenceUnit: my_internet_shop] Unable to build Hibernate SessionFactory
at org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createDelegate(ReloadableEntityManagerFactory.java:136)
at org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.<init>(ReloadableEntityManagerFactory.java:105)
at org.apache.openejb.assembler.classic.PersistenceBuilder.createEntityManagerFactory(PersistenceBuilder.java:157)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:866)
... 65 more
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: my_internet_shop] Unable to build Hibernate SessionFactory
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:951)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:881)
at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:151)
at org.apache.openejb.assembler.classic.EntityManagerFactoryCallable.call(EntityManagerFactoryCallable.java:122)
at org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createDelegate(ReloadableEntityManagerFactory.java:134)
... 68 more
Caused by: org.hibernate.HibernateException: Could not access BeanManager ListenerFactory class [org.hibernate.jpa.event.internal.jpa.ListenerFactoryBeanManagerStandardImpl] to handle CDI extensions
at org.hibernate.jpa.event.spi.jpa.ListenerFactoryBuilder.buildBeanManagerListenerFactory(ListenerFactoryBuilder.java:96)
at org.hibernate.jpa.event.spi.jpa.ListenerFactoryBuilder.buildStandardBeanManagerListenerFactory(ListenerFactoryBuilder.java:59)
at org.hibernate.jpa.event.spi.jpa.ListenerFactoryBuilder.buildListenerFactory(ListenerFactoryBuilder.java:42)
at org.hibernate.jpa.event.spi.JpaIntegrator.integrate(JpaIntegrator.java:135)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:278)
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:493)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:878)
... 71 more
Caused by: java.lang.IllegalStateException: On a thread without an initialized context nor a classloader mapping a deployed app
at org.apache.openejb.cdi.ThreadSingletonServiceImpl.get(ThreadSingletonServiceImpl.java:287)
at org.apache.openejb.cdi.ThreadSingletonServiceImpl.getContext(ThreadSingletonServiceImpl.java:263)
at org.apache.openejb.cdi.ThreadSingletonServiceImpl.get(ThreadSingletonServiceImpl.java:298)
at org.apache.openejb.cdi.ThreadSingletonServiceImpl.get(ThreadSingletonServiceImpl.java:60)
at org.apache.webbeans.config.WebBeansFinder.getSingletonInstance(WebBeansFinder.java:51)
at org.apache.webbeans.config.WebBeansContext.getInstance(WebBeansContext.java:185)
at org.apache.webbeans.config.WebBeansContext.currentInstance(WebBeansContext.java:203)
at org.apache.openejb.assembler.classic.EntityManagerFactoryCallable$1.findBm(EntityManagerFactoryCallable.java:105)
at org.apache.openejb.assembler.classic.EntityManagerFactoryCallable$1.invoke(EntityManagerFactoryCallable.java:96)
at com.sun.proxy.$Proxy70.toString(Unknown Source)
at java.lang.String.valueOf(String.java:2994)
at java.lang.StringBuilder.append(StringBuilder.java:131)
at org.hibernate.jpa.event.internal.jpa.ListenerFactoryBeanManagerStandardImpl.<init>(ListenerFactoryBeanManagerStandardImpl.java:60)
at org.hibernate.jpa.event.internal.jpa.ListenerFactoryBeanManagerStandardImpl.fromBeanManagerReference(ListenerFactoryBeanManagerStandardImpl.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.hibernate.jpa.event.spi.jpa.ListenerFactoryBuilder.buildBeanManagerListenerFactory(ListenerFactoryBuilder.java:80)
... 77 more
यह अपवाद का उल्लेख करने वाला एक छोटा सा हिस्सा है। यहां full stacktrace & server logs
सभी डेटाबेस सामग्री और जेपीए मानचित्रण ठीक हैं। डबल-चेक और पूर्णता के लिए परिष्कृत। असल में, मैं अपने ऐप को टॉमकैट 8.5.6 सर्वर पर चलाने में सक्षम था, लेकिन यह ईजेबी का समर्थन नहीं करता है, इसलिए मुझे टॉमई की जरूरत है।
यहां रूट उत्तेजना java.lang.IllegalStateException: On a thread without an initialized context nor a classloader mapping a deployed app
है। यह मेरी सभी हाइबरनेट-जेपीए परियोजनाओं में दिखाई देता है (यहां तक कि केवल एक इकाई के साथ सरल परीक्षण और त्रुटि के लिए कोई जगह नहीं), इसलिए मेरा मानना है कि यह वास्तविक सर्वर-साइड-कॉन्फ़िगरेशन प्रकार की समस्या है।
हालांकि मुझे इस अपवाद के बारे में कोई जानकारी नहीं मिली और न ही स्टैक ओवरव्लो और न ही इंटरनेट पर।
मैं आपकी मदद के लिए तत्पर हूं, मुझे कोई मदद और सलाह लेने में खुशी होगी।
प्रश्न के लिए धन्यवाद - मुझे अपग्रेड करके यहां एक ही समस्या का अनुभव है टॉमई 7.0.1 से टॉमई 7.0.2 तक, हाइबरनेट 5.2.4 – rzo