I have one simple CMP entity bean and one session bean. The part of the session bean 
is here:

  |     /** Business method.
  |      * @ejb.interface-method
  |      */
  |     public long testCMP() {
  |         long time = System.currentTimeMillis();
  |         
  |         try {
  |             for (int i = 0; i < 10; i++) {
  |                 System.out.println("CMP " + i);
  |                 AccountCMPLocalHome home = AccountCMPUtil.getLocalHome();
  |                 java.util.Collection accs = home.findAll();
  |                 
  |                 java.util.Iterator itr = accs.iterator();
  |                 
  |                 while (itr.hasNext()) {
  |                     AccountCMPLocal acc = (AccountCMPLocal) itr.next();
  |                     String u = acc.getUserId();
  |                     System.out.println("CMP " + u);
  |                     String p = acc.getPassword();
  |                 }
  |             }
  |         } catch (Exception e) {
  |             throw new javax.ejb.EJBException(e);
  |         }
  | 
  |         return System.currentTimeMillis() - time;
  |     }
  | 
AccountCMPUtil is the cache generated by XDoclet.

The 'for' cycle executes only once and then the server and the client hang up!

The last words of the server are:

  | 2004-07-09 15:03:39,988 INFO  [STDOUT] CMP 0
  | 2004-07-09 15:03:39,988 DEBUG 
[org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLQuery.AccountCMP#findAll] Executing SQL: 
SELECT t0_a.userId FROM T_ACCOUNT t0_a
  | 2004-07-09 15:03:39,988 DEBUG 
[org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.AccountCMP] Executing SQL: 
SELECT pwd FROM T_ACCOUNT WHERE (userId=?)
  | 2004-07-09 15:03:40,004 INFO  [STDOUT] CMP user1
  | 2004-07-09 15:03:40,004 DEBUG 
[org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.AccountCMP] Executing SQL: 
SELECT userId, pwd FROM T_ACCOUNT WHERE (userId=?) OR (userId=?) OR (userId=?) OR 
(userId=?) OR (userId=?)
  | 2004-07-09 15:03:40,004 DEBUG 
[org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.AccountCMP] Executing SQL: 
SELECT pwd FROM T_ACCOUNT WHERE (userId=?)
  | 2004-07-09 15:03:40,004 INFO  [STDOUT] CMP user2
  | 2004-07-09 15:03:40,004 DEBUG 
[org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.AccountCMP] Executing SQL: 
SELECT pwd FROM T_ACCOUNT WHERE (userId=?)
  | 2004-07-09 15:03:40,020 INFO  [STDOUT] CMP user3
  | 2004-07-09 15:03:40,020 DEBUG 
[org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.AccountCMP] Executing SQL: 
SELECT pwd FROM T_ACCOUNT WHERE (userId=?)
  | 2004-07-09 15:03:40,020 INFO  [STDOUT] CMP user4
  | 2004-07-09 15:03:40,020 DEBUG 
[org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.AccountCMP] Executing SQL: 
SELECT pwd FROM T_ACCOUNT WHERE (userId=?)
  | 2004-07-09 15:03:40,035 INFO  [STDOUT] CMP user5
  | 2004-07-09 15:03:40,035 INFO  [STDOUT] CMP 1
  | 2004-07-09 15:03:40,035 DEBUG 
[org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLQuery.AccountCMP#findAll] Executing SQL: 
SELECT t0_a.userId FROM T_ACCOUNT t0_a
  | 2004-07-09 15:08:39,278 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] 
run: IdleRemover notifying pools, interval: 450000
  | 2004-07-09 15:08:39,996 WARN  [org.jboss.tm.TransactionImpl] Transaction 
TransactionImpl:XidImpl [FormatId=257, GlobalId=sysm1029//137, BranchQual=] timed out. 
status=STATUS_ACTIVE
  | 

So, did I make a mistake or a method of a CMP bean can be invoked only once per 
trasaction?

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3841519#3841519

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3841519


-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to