[ https://issues.apache.org/jira/browse/OPENJPA-2834?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17205313#comment-17205313 ]
Romain Manni-Bucau commented on OPENJPA-2834: --------------------------------------------- [~vishalduke] you mean you create the DB with JPA in your case? Is it a "test" case and not a prod one? (it is unlikely it happens in prod so I'm a bit surprised) > Performance issue while deploying in Wildfly EAP with OpenJPA-3.1.1 > ------------------------------------------------------------------- > > Key: OPENJPA-2834 > URL: https://issues.apache.org/jira/browse/OPENJPA-2834 > Project: OpenJPA > Issue Type: Bug > Components: jpa > Affects Versions: 3.1.1 > Environment: Linux OS > Oracle DB > Reporter: Vishal > Assignee: Romain Manni-Bucau > Priority: Major > Fix For: 3.1.3 > > Attachments: OneDrive_2020-09-18.zip, redHatRecommendation.txt > > > Hi Team > We are facing Performance issue with OpenJPA-3.1.1 when we deploy our > application in EAP 7.3 Server but similar issue is not replicated with > Wildfly-10.1.0 server with same version. > Below is reply from RED-HAT Team memeber we have received > {color:#ff8b00}With the scope of WFLY-7075 (see [1]) the > 'TransactionScopedEntityManager' implementation got updated to throw an error > if a jta transaction already has an UNSYNCHRONIZED persistence context and a > SYNCHRONIZED persistence context is requested. For this the implementation is > using the 'EntityManagerFactory', see: ~~~ private static void > testForMixedSynchronizationTypes(EntityManagerFactory emf, EntityManager > entityManagerFromJTA, String scopedPuName, final SynchronizationType > targetSynchronizationType, Map targetProperties) \{ boolean > skipMixedSyncTypeChecking = > Configuration.skipMixedSynchronizationTypeCheck(emf, targetProperties); // > extension to allow skipping of check based on properties of target entity > manager boolean allowJoinedUnsyncPersistenceContext = > Configuration.allowJoinedUnsyncPersistenceContext(emf, targetProperties); // > extension to allow joined unsync persistence context to be treated as sync > persistence context ... } ~~~ Printing the stack in > 'EntityManagerFactoryImpl.' shows: 11698 ragedesign INFO [default task-1] > openjpa.Runtime - > org.apache.openjpa.persistence.EntityManagerFactoryImpl.getProperties(EntityManagerFactoryImpl.java:125) > 11698 ragedesign INFO [default task-1] openjpa.Runtime - > org.jboss.as.jpa.config.Configuration.skipMixedSynchronizationTypeCheck(Configuration.java:345) > So, the code above calls 'EntityManagerFactoryImpl.getProperties(...)' from > OpenJPA, see: ~~~ @Override public Map<String,Object> getProperties() \{ > Map<String,Object> props = _factory.getProperties(); // convert to user > readable values props.putAll(createEntityManager().getProperties()); return > props; } ~~~ As you can see this code is creating a new 'EntityManager' > (createEntityManager()) on every invocation just to get the Properties. As > mentioned in the beginning to resolve the issue for JBoss EAP 7.3 and Open > JPA, you would need to fix this in Open JPA {color} > {color:#172b4d}They have also shared link for Jira of JBOSS > [https://issues.redhat.com/browse/WFLY-7075]{color} > > I am attaching Project and logs for reference. > > -- This message was sent by Atlassian Jira (v8.3.4#803005)