> > I have neither a jbosscmp-jdbc.xml or a jaws.xml, assuming it would > > use standard setting if missing. Is that right? > > > Yes if you don't want to tune loading, but then you are not allowed to > complain about speed. > > -dain
>From advice from all of you, I have converted all my beans to truly use the 2.0 spec. I also have defined a jbosscmp-jdbc.xml for each bean so I can be allowed to complain about speed ;-) I have also become friends with the dtds and am writing my config files actually looking at them. Highly recommended for all who are lazy like me. I have some minor questions, but I'll get to my big one. I have seen glimmers of very big speed improvements after my conversion, but I have had to use UserTransactions to get what I would expect to be normal behavior without them. Below is a long log with my commentary about what is happening. Basically it is the same Collection iteration issue. I am doing a query resulting in around 200 "Attribute" beans in a Collection, iterating through the collection and getting a simple property from each "Attribute" to build a HashMap of Attributes using the "name" property as the key for the HashMap. If I wrap it with a UserTransaction, things look good, but I don't see why I would have to do so. And, if I do, I have many places where I will have to do the same thing, which I would like to avoid. Without wrapping in my own transaction, when trying to get a single property from a single element in the Collection, it loads the whole Collection. I don't understand why it would do it twice, let alone for each element in the Collection. I also don't understand if it is a function of the commit options, config or it is not working as expected. Here is the log with my commentary preceded by >>>>>>>>>>>>> I have taken out a lot of stuff to make it shorter, but it is still pretty long. Thanks. >>>>>>>>>>>>> build the Collection of Attributes 2002-04-26 09:26:53,066 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCFindByQuery.Attribute.findByContainerId] Executing SQL: SELECT id FROM attribute WHERE containerId=? 2002-04-26 09:26:53,175 ERROR [STDERR] DEBUG: prep time for collection map: 1 2002-04-26 09:26:53,177 ERROR [STDERR] DEBUG: class used in the reflection: $Proxy171 2002-04-26 09:26:53,179 ERROR [STDERR] DEBUG: field name: name 2002-04-26 09:26:53,191 ERROR [STDERR] DEBUG: just getting the method time is................................0 >>>>>>>>>>>>> begin to iterate the Collection and get the "name" property for indexing >>>>>>>>>>>>> this loads the whole collection which is perfect 2002-04-26 09:26:53,193 DEBUG [org.jboss.ejb.plugins.LogInterceptor] Invoke: [1006166] getName() 2002-04-26 09:26:53,196 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.Attribute] Executing SQL: SELECT id,containerId, containerType, name, value FROM attribute WHERE (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR ! (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) 2002-04-26 09:26:55,146 DEBUG [org.jboss.jetty.util.NaiveTimeOutManager] background thread ended: org.jboss.jetty.util.NaiveTimeOutManager@466eea >>>>>>>>>>>>> still takes 3 seconds to do this.....beats 20 seconds though 2002-04-26 09:26:56,244 ERROR [STDERR] DEBUG: invoking method time is................................3054 2002-04-26 09:26:56,249 ERROR [STDERR] DEBUG: add field time: 3072 2002-04-26 09:26:56,251 ERROR [STDERR] DEBUG: class used in the reflection: $Proxy171 2002-04-26 09:26:56,253 ERROR [STDERR] DEBUG: field name: name 2002-04-26 09:26:56,255 ERROR [STDERR] DEBUG: just getting the method time is................................0 >>>>>>>>>>>>> get name property in second element...no query...which is perfect 2002-04-26 09:26:56,258 DEBUG [org.jboss.ejb.plugins.LogInterceptor] Invoke: [1006167] getName() >>>>>>>>>>>>> big snip here for each element...a little under 200 elements >>>>>>>>>>>>> no queries...which is perfect >>>>>>>>>>>>> do it again without wrapping with UserTransaction >>>>>>>>>>>>> building the Attribute Collectioin [org.jboss.ejb.plugins.cmp.jdbc.JDBCFindByQuery.Attribute.findByContainerId] Executing SQL: SELECT id FROM attribute WHERE containerId=? 2002-04-26 09:27:02,054 ERROR [STDERR] DEBUG: time to load attributes: 287 2002-04-26 09:27:02,056 ERROR [STDERR] DEBUG: attribute count: 166 2002-04-26 09:27:02,058 ERROR [STDERR] DEBUG: prep time for collection map: 0 2002-04-26 09:27:02,170 ERROR [STDERR] DEBUG: class used in the reflection: $Proxy171 2002-04-26 09:27:02,172 ERROR [STDERR] DEBUG: field name: name 2002-04-26 09:27:02,174 ERROR [STDERR] DEBUG: just getting the method time is................................1 >>>>>>>>>>>>> start iterating Collection again...surprised it did a query..thought would be cached >>>>>>>>>>>>> is this a function of the commit options? 2002-04-26 09:27:02,175 DEBUG [org.jboss.ejb.plugins.LogInterceptor] Invoke: [1006166] getName() 2002-04-26 09:27:02,178 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.Attribute] Executing SQL: SELECT id,containerId, containerType, name, value FROM attribute WHERE (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR ! (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) 2002-04-26 09:27:04,896 ERROR [STDERR] DEBUG: invoking method time is................................2722 2002-04-26 09:27:04,898 ERROR [STDERR] DEBUG: add field time: 2727 2002-04-26 09:27:04,899 ERROR [STDERR] DEBUG: class used in the reflection: $Proxy171 2002-04-26 09:27:04,900 ERROR [STDERR] DEBUG: field name: name 2002-04-26 09:27:04,901 ERROR [STDERR] DEBUG: just getting the method time is................................0 >>>>>>>>>>>>> really surprised it does the query again >>>>>>>>>>>>> note that on each pass it is looking for one less element >>>>>>>>>>>>> which I presume is because it is cached >>>>>>>>>>>>> also really suprising it is doing the whole collection again since I'm >>>>>>>>>>>>> just trying to get a single property from a single Attribute >>>>>>>>>>>>> this I just plain don't understand 2002-04-26 09:27:04,904 DEBUG [org.jboss.ejb.plugins.LogInterceptor] Invoke: [1006167] getName() 2002-04-26 09:27:04,907 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.Attribute] Executing SQL: SELECT id,containerId, containerType, name, value FROM attribute WHERE (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR ! (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) 2002-04-26 09:27:06,375 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] run: IdleRemover notifying pools, interval: 450000 2002-04-26 09:27:07,527 ERROR [STDERR] DEBUG: invoking method time is................................2626 2002-04-26 09:27:07,529 ERROR [STDERR] DEBUG: add field time: 2630 2002-04-26 09:27:07,533 ERROR [STDERR] DEBUG: class used in the reflection: $Proxy171 2002-04-26 09:27:07,536 ERROR [STDERR] DEBUG: field name: name 2002-04-26 09:27:07,538 ERROR [STDERR] DEBUG: just getting the method time is................................1 >>>>>>>>>>>>> does this for each Attribute in the Collection 2002-04-26 09:27:07,539 DEBUG [org.jboss.ejb.plugins.LogInterceptor] Invoke: [1006168] getName() 2002-04-26 09:27:07,542 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.Attribute] Executing SQL: SELECT id,containerId, containerType, name, value FROM attribute WHERE (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR ! (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) 2002-04-26 09:27:10,003 ERROR [STDERR] DEBUG: invoking method time is................................2464 2002-04-26 09:27:10,008 ERROR [STDERR] DEBUG: add field time: 2474 2002-04-26 09:27:10,011 ERROR [STDERR] DEBUG: class used in the reflection: $Proxy171 2002-04-26 09:27:10,014 ERROR [STDERR] DEBUG: field name: name 2002-04-26 09:27:10,016 ERROR [STDERR] DEBUG: just getting the method time is................................0 2002-04-26 09:27:10,020 DEBUG [org.jboss.ejb.plugins.LogInterceptor] Invoke: [1007007] getName() 2002-04-26 09:27:10,022 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.Attribute] Executing SQL: SELECT id,containerId, containerType, name, value FROM attribute WHERE (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR ! (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) OR (id=?) _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user