CMR 1-Many Performance Woes
darryl_staflund Feb 7, 2003 10:34 AMHi all,
I am running JBoss 3.0.4/Tomcat on Windows XP with a back-end PostgreSQL 7.2 database. I have coded a number of EJB 2.0 entity beans that stand in a one to many unidirectional relationship with each other. When I try to insert or delete entries using CMP 2.0, performance is awful. I have set up the controller methods to have a transaction requirement of 'RequiresNew' and the supporting methods as having a transaction requirement of 'Supported' or 'Required'.
When insertions or deletions occur, though, beans are continually read and stored throughout the transaction and this is slowing things down imensely. Can someone tell me why this is happening? To give an idea of the lifecycle methods that are being performed, I provide the following clip. Comments and tips are appreciated.
The following code is a snippet of the output I get when inserting approximately 1000 records into the database. It takes 1-2 minutes to perform.
Sincerely,
Darryl
01:58:56,230 INFO [STDOUT] [SecurityActionAssignmentEJB] Created.
01:58:56,561 INFO [STDOUT] [SecurityActionEJB] Loaded.
01:58:56,611 INFO [STDOUT] [SecurityRoleEJB] Loaded.
01:58:56,611 INFO [STDOUT] [SecurityActionAssignmentEJB] Post-created.
01:58:56,621 INFO [STDOUT] [SecurityRoleEJB] Entity context has been set.
01:58:56,711 INFO [STDOUT] [SecurityActionAssignmentEJB] Stored.
01:58:56,791 INFO [STDOUT] [SecurityActionEJB] Stored.
01:58:56,791 INFO [STDOUT] [SecurityRoleEJB] Stored.
01:58:56,831 INFO [STDOUT] [SecurityActionAssignmentEJB] Entity context has been set.
01:58:56,831 INFO [STDOUT] [SecurityActionAssignmentEJB] Created.
01:58:56,971 INFO [STDOUT] [SecurityRoleEJB] Loaded.
01:58:56,971 INFO [STDOUT] [SecurityActionAssignmentEJB] Post-created.
01:58:56,981 INFO [STDOUT] [SecurityRoleEJB] Entity context has been set.
01:58:56,981 INFO [STDOUT] [SecurityActionAssignmentEJB] Stored.
01:58:57,021 INFO [STDOUT] [SecurityActionEJB] Stored.
01:58:57,021 INFO [STDOUT] [SecurityRoleEJB] Stored.
01:58:57,061 INFO [STDOUT] [SecurityActionAssignmentEJB] Entity context has been set.
01:58:57,071 INFO [STDOUT] [SecurityActionAssignmentEJB] Created.
01:58:57,211 INFO [STDOUT] [SecurityRoleEJB] Loaded.
01:58:57,211 INFO [STDOUT] [SecurityActionAssignmentEJB] Post-created.
01:58:57,221 INFO [STDOUT] [SecurityRoleEJB] Entity context has been set.
01:58:57,221 INFO [STDOUT] [SecurityActionAssignmentEJB] Stored.
01:58:57,262 INFO [STDOUT] [SecurityActionEJB] Stored.
01:58:57,262 INFO [STDOUT] [SecurityRoleEJB] Stored.
01:58:57,312 INFO [STDOUT] [SecurityActionAssignmentEJB] Entity context has been set.
01:58:57,312 INFO [STDOUT] [SecurityActionAssignmentEJB] Created.
01:58:57,402 INFO [STDOUT] [SecurityRoleEJB] Loaded.
01:58:57,402 INFO [STDOUT] [SecurityActionAssignmentEJB] Post-created.
01:58:57,402 INFO [STDOUT] [SecurityRoleEJB] Entity context has been set.
01:58:57,402 INFO [STDOUT] [SecurityActionAssignmentEJB] Stored.
01:58:57,452 INFO [STDOUT] [SecurityActionEJB] Stored.
01:58:57,452 INFO [STDOUT] [SecurityRoleEJB] Stored.
01:58:57,492 INFO [STDOUT] [SecurityActionAssignmentEJB] Entity context has been set.
01:58:57,492 INFO [STDOUT] [SecurityActionAssignmentEJB] Created.
01:58:57,652 INFO [STDOUT] [SecurityRoleEJB] Loaded.
01:58:57,662 INFO [STDOUT] [SecurityActionAssignmentEJB] Post-created.
01:58:57,662 INFO [STDOUT] [SecurityRoleEJB] Entity context has been set.
01:58:57,662 INFO [STDOUT] [SecurityActionAssignmentEJB] Stored.
01:58:57,712 INFO [STDOUT] [SecurityActionEJB] Stored.
01:58:57,722 INFO [STDOUT] [SecurityRoleEJB] Stored.
01:58:57,752 INFO [STDOUT] [SecurityActionAssignmentEJB] Entity context has been set.
01:58:57,762 INFO [STDOUT] [SecurityActionAssignmentEJB] Created.
01:58:57,842 INFO [STDOUT] [SecurityRoleEJB] Loaded.
01:58:57,852 INFO [STDOUT] [SecurityActionAssignmentEJB] Post-created.
01:58:57,852 INFO [STDOUT] [SecurityRoleEJB] Entity context has been set.
01:58:57,852 INFO [STDOUT] [SecurityActionAssignmentEJB] Stored.
01:58:57,902 INFO [STDOUT] [SecurityActionEJB] Stored.
01:58:57,902 INFO [STDOUT] [SecurityRoleEJB] Stored.
01:58:57,943 INFO [STDOUT] [SecurityActionAssignmentEJB] Entity context has been set.
01:58:57,953 INFO [STDOUT] [SecurityActionAssignmentEJB] Created.
01:58:58,143 INFO [STDOUT] [SecurityRoleEJB] Loaded.
01:58:58,143 INFO [STDOUT] [SecurityActionAssignmentEJB] Post-created.
01:58:58,153 INFO [STDOUT] [SecurityRoleEJB] Entity context has been set.
01:58:58,153 INFO [STDOUT] [SecurityActionAssignmentEJB] Stored.
etc...