> > 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

Reply via email to