Hello!
        I am using JBoss 3.0.2 with bundled Tomcat 4.0.4.
        I am having problems using "read-ahead" with Dynamic queries. I
configure my dynamic finder with the read-ahead feature, but it simply
ignores them and behaves always the same. With no Dynamic queries, it
works great.
        I configured my finder using Xdoclet. The Xdcolet configuration,
the ejb-jar.xml extract and the jbosscmp-jbcd.xml extract are appended
below.
        I need the dynamic feature because I need to execute a
"SELECT...WHERE xpto IN (..,..)".

        Below are two log messages extracted from the JBoss log when my
dynamic query was a simple "Select".    
        When I execute the finder (1), the query returns all columns (no
matter if my strategy is "on-load" or "on-find"). After this, if I
execute one method which returns one Value Object with all the columns,
another select is automatically executed by the 
container (2). This select shouldn't be necessary once I am still in the
same transaction, so the previous data is still valid.
If I only access columns from the Primary Key (instead of getting the VO
with all columns), the select (2) isn't executed.

        I have concluded that I can't configure "read-ahead" on Dynamic
queries. Is this the expected behavior? Is it related with the JBoss
version I am using? Am I doing any thing wrong? I don't want to execute
two consecutive selects which return the same data.......

        Any help would be really appreciated!!

        Thanks in advance,
                Victor Batista

 

(1)
2002-11-22 00:17:11,109 DEBUG
[org.jboss.ejb.plugins.cmp.jdbc.JDBCDynamicQLQuery.User.findAllIn]
Executing SQL: SELECT t0_u.username, t0_u.name, t0_u.surname,
t0_u.passwd, t0_u.int_num, t0_u.description, t0_u.creation_date FROM
DC_USERS t0_u WHERE t0_u.username = 'vbatista'

(2)
2002-11-22 00:17:11,129 DEBUG
[org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.User] Executing
SQL: SELECT name, surname, passwd, int_num, description, creation_date
FROM DC_USERS WHERE (username=?) FOR UPDATE



################  XDOCLET CONFIGURATION
 * @ejb:finder signature="java.util.Collection
findGeneric(java.lang.String query, java.lang.Object[] args)"
 *                              query=""
 *
 * @jboss:query signature="java.util.Collection
findGeneric(java.lang.String query, java.lang.Object[] args)"
 *                              dynamic = "true"
 *                              strategy="on-load"




################  EJB-JAR
         <query>
            <query-method>
               <method-name>findGeneric</method-name>
               <method-params>
                  <method-param>java.lang.String</method-param>
                  <method-param>java.lang.Object[]</method-param>
               </method-params>
            </query-method>
            <ejb-ql><![CDATA[]]></ejb-ql>
         </query>


################  JBOSSCMP-JDBC
         <query>
            <query-method>
               <method-name>findGeneric</method-name>
               <method-params>
                  <method-param>java.lang.String</method-param>
                  <method-param>java.lang.Object[]</method-param>
               </method-params>
            </query-method>
                        <dynamic-ql/>

                        <read-ahead>
                                <strategy>on-find</strategy>
                        </read-ahead>
             </query>



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to