Bmp entity ejb transactions, using DAO objects

hi all,
i'm new to entity ejb's... i'm using the j2ee reference implementation (1.3.1) with the cloudscape db to test my code.
i can't seem to get my ejbCreate method to work. i'm using a DAO object to encapsulate all my database code, and simply call dao.insert(...) in my ejbCreate method.
i tested the dao object, and it works fine when it's invoked straight. but when i try to invoke under the ejb container i run into problems:
i deploy the bean with container managed transactions:
(1) with the 'required' attribute:
I get a javax.transaction.RollbackException nested inside another RollbackException, nested inside a RemoteException, nested inside another RemoteException. The final RollbackException says <<no stack trace available>>...
So I've got no clue what's causing it...
(2) with the 'never' attribute:
I get a NullPointerException nested inside another NullPointerException, nested inside a RemoteException, nested inside another RemoteException. The final NullPointerException says <<no stack trace available>>...
So I've got no clue what's causing it...
I'm assuming something messed up with my deployment -- but I've checked it against all the examples I can find -- seems to be correct. Would the encapsulated Data Access code cause a problem? Some other config problem?
Thanks in advance for any help!!

i'm using the cloudscape db that's already configured with the server. i believe the datasource is correctly configured, as i am able to successfully invoke the dao methods straight -- the problem occurs when I try to do it via the entity bean that uses the dao object.
here's my server startup messages:
Binding DataSource, name = jdbc/Cloudscape, url = jdbc:cloudscape:rmi:CloudscapeDB;create=
true
Binding DataSource, name = jdbc/DB1, url = jdbc:cloudscape:rmi:CloudscapeDB;create=true
Binding DataSource, name = jdbc/EstoreDB, url = jdbc:cloudscape:rmi:CloudscapeDB;create=tr
ue
Binding DataSource, name = jdbc/InventoryDB, url = jdbc:cloudscape:rmi:CloudscapeDB;create
=true
Binding DataSource, name = jdbc/DB2, url = jdbc:cloudscape:rmi:CloudscapeDB;create=true
Binding DataSource, name = jdbc/XACloudscape, url = jdbc/XACloudscape__xa
Binding DataSource, name = jdbc/XACloudscape__xa, dataSource = COM.cloudscape.core.RemoteX

Similar Messages

  • Developing Control using DAO objects

    I have developed a DAO(Data Access Objects) classes during our development in Portal 7.0 , Now we are moving to 8.1 Portal , I need to know how to make use of this DAO classes again..Can i develop an Database Control , If so, Kindly let me know about developing this control

    i'm using the cloudscape db that's already configured with the server. i believe the datasource is correctly configured, as i am able to successfully invoke the dao methods straight -- the problem occurs when I try to do it via the entity bean that uses the dao object.
    here's my server startup messages:
    Binding DataSource, name = jdbc/Cloudscape, url = jdbc:cloudscape:rmi:CloudscapeDB;create=
    true
    Binding DataSource, name = jdbc/DB1, url = jdbc:cloudscape:rmi:CloudscapeDB;create=true
    Binding DataSource, name = jdbc/EstoreDB, url = jdbc:cloudscape:rmi:CloudscapeDB;create=tr
    ue
    Binding DataSource, name = jdbc/InventoryDB, url = jdbc:cloudscape:rmi:CloudscapeDB;create
    =true
    Binding DataSource, name = jdbc/DB2, url = jdbc:cloudscape:rmi:CloudscapeDB;create=true
    Binding DataSource, name = jdbc/XACloudscape, url = jdbc/XACloudscape__xa
    Binding DataSource, name = jdbc/XACloudscape__xa, dataSource = COM.cloudscape.core.RemoteX

  • Duplicate BMP Entity EJB

    Somehow WebLogic is allowing two instances of an entity bean to represent
    one database row.
    Look at the log below.
    It was produced with println statements inside the EJB.
    Before 18:26:38, JobRecord 14395 was first represented by object 10e42b8.
    Starting at 18:26:38, it was also represented by object 726a57.
    The two objects co-existed until 18:28:13, when object 10e42b8 departed from
    the log.
    We found out about this because the state change of JobRecord from RUNNING
    to DONE was lost because of the dual object.
    That is, one part of our code updated the JobRecord with the change, but the
    change was never reflected in the database.
    Other parts of our code obviously referenced the other object, and thus
    never realized that the state has changed.
    We had to manually update the database row to correct this problem.
    Needless to say, the incorrect state is a very serious matter for us.
    How did this happen? Is this our bug, or is this a WebLogic bug?
    My belief is that WebLogic should never allow 2 instances of an entity bean
    to represent one thing AT THE SAME TIME.
    If that's true, then this is a WebLogic bug.
    The fact that the overlap lasted for about 95 seconds is quite amazing to
    me.
    Please tell me where I'm wrong about this.
    Fri Mar 10 18:26:29 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:26:32 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:26:36 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:26:38 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:26:38 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:26:42 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:26:44 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:26:47 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:26:50 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:26:51 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:26:53 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:26:56 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:26:59 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:02 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:06 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:07 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:09 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:10 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:14 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:17 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:20 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:22 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:27:22 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:27:26 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:27:27 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:27:29 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:27:35 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:27:36 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:27:38 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:27:41 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:27:44 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:27:47 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:27:50 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:27:53 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:27:56 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:27:59 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:28:02 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:28:06 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:28:08 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:28:11 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:28:13 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:28:14 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:17 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:21 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:22 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:24 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:27 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:29 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:32 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:36 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:38 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:41 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:44 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:48 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:50 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:53 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:53 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:56 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:59 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:01 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:02 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:05 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:09 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:12 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:13 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:14 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:19 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:19 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:23 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:26 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:29 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:30 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:32 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:35 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:37 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:41 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:44 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:47 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:50 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:53 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:56 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:59 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:30:02 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:30:06 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:30:08 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:30:11 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:30:13 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status ==
    RUNNING
    Fri Mar 10 18:30:13 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    DEBUG : Echo : JobRecordEJB 14395 == [BaseEJBObject] home:
    gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_HomeImpl@e73783
    Fri Mar 10 18:30:14 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:30:14 EST 2006 DEBUG: JobRecordEJB : 14395 Updated from
    RUNNING to (DONE,0).
    Fri Mar 10 18:30:14 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:14 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:15 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:17 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:17 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:17 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:20 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:21 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:40 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE

    Do I have to call my problem a potential bug to get attention here?
    I certainly think my problem is a BEA bug.
    I mean, how could BEA allow 2 instances of an entity bean that represent the
    same database row to be concurrently visible?
    "C. Allen Sher" <[email protected]> wrote in message
    news:[email protected]...
    Correction:
    The last appearance of object 10e42b8 was at 18:30:13.
    This means that the two objects coexisted for a whopping 215 seconds.
    "C. Allen Sher" <[email protected]> wrote in message
    news:[email protected]...
    Somehow WebLogic is allowing two instances of an entity bean to represent
    one database row.
    Look at the log below.
    It was produced with println statements inside the EJB.
    Before 18:26:38, JobRecord 14395 was first represented by object 10e42b8.
    Starting at 18:26:38, it was also represented by object 726a57.
    The two objects co-existed until 18:28:13, when object 10e42b8 departed
    from the log.
    We found out about this because the state change of JobRecord from
    RUNNING to DONE was lost because of the dual object.
    That is, one part of our code updated the JobRecord with the change, but
    the change was never reflected in the database.
    Other parts of our code obviously referenced the other object, and thus
    never realized that the state has changed.
    We had to manually update the database row to correct this problem.
    Needless to say, the incorrect state is a very serious matter for us.
    How did this happen? Is this our bug, or is this a WebLogic bug?
    My belief is that WebLogic should never allow 2 instances of an entity
    bean to represent one thing AT THE SAME TIME.
    If that's true, then this is a WebLogic bug.
    The fact that the overlap lasted for about 95 seconds is quite amazing to
    me.
    Please tell me where I'm wrong about this.
    Fri Mar 10 18:26:29 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:26:32 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:26:36 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:26:38 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:26:38 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:26:42 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:26:44 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:26:47 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:26:50 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:26:51 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:26:53 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:26:56 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:26:59 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:02 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:06 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:07 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:09 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:10 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:14 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:17 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:20 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:27:22 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:27:22 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:27:26 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:27:27 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:27:29 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:27:35 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:27:36 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:27:38 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:27:41 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:27:44 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:27:47 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:27:50 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:27:53 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:27:56 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:27:59 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:28:02 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:28:06 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:28:08 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:28:11 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:28:13 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:28:14 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:17 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:21 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:22 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:24 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:27 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:29 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:32 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:36 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:38 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:41 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:44 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:48 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:50 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:53 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:53 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:56 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:28:59 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:01 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:02 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:05 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:09 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:12 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:13 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:14 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:19 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:19 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:23 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:26 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:29 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:30 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:32 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:35 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:37 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:41 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:44 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:47 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:50 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:53 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:56 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:29:59 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:30:02 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:30:06 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:30:08 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:30:11 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:30:13 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@10e42b8 with status
    == RUNNING
    Fri Mar 10 18:30:13 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    DEBUG : Echo : JobRecordEJB 14395 == [BaseEJBObject] home:
    gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_HomeImpl@e73783
    Fri Mar 10 18:30:14 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    RUNNING
    Fri Mar 10 18:30:14 EST 2006 DEBUG: JobRecordEJB : 14395 Updated from
    RUNNING to (DONE,0).
    Fri Mar 10 18:30:14 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:14 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:15 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:17 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:17 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:17 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:20 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:21 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE
    Fri Mar 10 18:30:40 EST 2006 DEBUG: JobRecordEJB.ejbLoad() : JobRecord
    14395==gov.bls.cpi.jcs.ejb.JobRecordEJB_j4eeci_Impl@726a57 with status ==
    DONE

  • Transaction using ABAP Objects !

    Hi All ,
         I have a requirement for creating a transaction/module pool prog using OO ABAP .
        Can you please send some sample documents to guide completely about the creation and execution of the transaction .
    Rewards are assured !!
    Regards,
    Ranjita

    Hi
    Check out Standard SAP prg: DEMO_OO_TRANSACTION
    Regards
    Raj

  • BMP Entity should use UserTransaction ???

    If I have a BMP Entity, should i use UserTransaction in the bean ??? if not , what
    should i use ?
    thanks :)

    If you use a TXDatasource within a TX the autocommit is set to false by default.
    Peter wrote:
    Should I use setAutoCommit(false) ??
    Rajesh Mirchandani <[email protected]> wrote:
    You should not use UserTransaction in a BMP. You could set the tx attributes
    in the
    ejb-jar.xml file and have the container handle the transactions for you.
    Look in the ejb spec (chapter on transactions) for more info.
    Peter wrote:
    If I have a BMP Entity, should i use UserTransaction in the bean ???if not , what
    should i use ?
    thanks :)--
    Rajesh Mirchandani
    Developer Relations Engineer
    BEA Support
    Rajesh Mirchandani
    Developer Relations Engineer
    BEA Support

  • EJB transaction isolation not working

    I'm trying to use TRANSACTION_SERIALIZABLE isolation level in my EJB test application
    with no success so far.
    The environment is Windows NT, WebLogic 6.1, Informix DB (which, according to
    its documentation, supports TRANSACTION_SERIALIZABLE), and a Tx Data Source on
    a JDBC pool.
    I have an CMP Entity EJB with the following definitions:
    <container-transaction>
    <method>
    <ejb-name>SdrFA</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <transaction-isolation>
    <isolation-level>TRANSACTION_SERIALIZABLE</isolation-level>
    <method>
    <ejb-name>SdrFA</ejb-name>
    <method-intf>Home</method-intf>
    <method-name>*</method-name>
    </method>
    <method>
    <ejb-name>SdrFA</ejb-name>
    <method-intf>Remote</method-intf>
    <method-name>*</method-name>
    </method>
    </transaction-isolation>
    The entity EJB is used by a servlet that uses JTA to establish a transaction that
    the EJB methods should share ("Required" transaction attribute). The servlet is
    as follows:
    // Establish a transaction
    UserTransaction trn =
    (UserTransaction) ctx.lookup("java:comp/UserTransaction");
    trn.begin();
    trn.setTransactionTimeout(20);
    // Get the EJB
    SdrFA fFA = home.findByPrimaryKey( fFAPK );
    // Update an attribute
    fFA.setSomeAtt("someData");
    // Sleep to control concurrency
    Thread.currentThread().sleep(t * 1000);
    // commit
    trn.commit();
    I expected this setup to prevent concurrent updates and even accesses to the same
    DB table row, but this is not the case: when I invoke the servlet from a session
    and then invoke it again from another session while the first one is sleeping,
    the second one completes all right and is visible in the DB before the first one
    commits.
    Just in case TRANSACTION_SERIALIZABLE is not supported after all, I tried TRANSACTION_REPEATABLE_READ
    instead whith the same results.
    Is there something I'm missing, or any error in my setup?
    Thanks for any suggestion,
    Pere Torrodellas

    Hi Pere,
    AFAIR delay-updates-until-end-of-tx is set to True by default, so the
    actual update is not issued untill TX is commited. I'd try setting it to
    false and running the test again.
    Here are some documentation references:
    http://e-docs.bea.com/wls/docs61/ejb/EJB_environment.html#1048164
    http://e-docs.bea.com/wls/docs61/ConsoleHelp/wls_ejb_jar_dtd.html
    Regards,
    Slava Imeshev
    "Pere Torrodellas" <[email protected]> wrote in message
    news:[email protected]...
    >
    I'm trying to use TRANSACTION_SERIALIZABLE isolation level in my EJB testapplication
    with no success so far.
    The environment is Windows NT, WebLogic 6.1, Informix DB (which, accordingto
    its documentation, supports TRANSACTION_SERIALIZABLE), and a Tx DataSource on
    a JDBC pool.
    I have an CMP Entity EJB with the following definitions:
    <container-transaction>
    <method>
    <ejb-name>SdrFA</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <transaction-isolation>
    <isolation-level>TRANSACTION_SERIALIZABLE</isolation-level>
    <method>
    <ejb-name>SdrFA</ejb-name>
    <method-intf>Home</method-intf>
    <method-name>*</method-name>
    </method>
    <method>
    <ejb-name>SdrFA</ejb-name>
    <method-intf>Remote</method-intf>
    <method-name>*</method-name>
    </method>
    </transaction-isolation>
    The entity EJB is used by a servlet that uses JTA to establish atransaction that
    the EJB methods should share ("Required" transaction attribute). Theservlet is
    as follows:
    // Establish a transaction
    UserTransaction trn =
    (UserTransaction) ctx.lookup("java:comp/UserTransaction");
    trn.begin();
    trn.setTransactionTimeout(20);
    // Get the EJB
    SdrFA fFA = home.findByPrimaryKey( fFAPK );
    // Update an attribute
    fFA.setSomeAtt("someData");
    // Sleep to control concurrency
    Thread.currentThread().sleep(t * 1000);
    // commit
    trn.commit();
    I expected this setup to prevent concurrent updates and even accesses tothe same
    DB table row, but this is not the case: when I invoke the servlet from asession
    and then invoke it again from another session while the first one issleeping,
    the second one completes all right and is visible in the DB before thefirst one
    commits.
    Just in case TRANSACTION_SERIALIZABLE is not supported after all, I triedTRANSACTION_REPEATABLE_READ
    instead whith the same results.
    Is there something I'm missing, or any error in my setup?
    Thanks for any suggestion,
    Pere Torrodellas

  • How to use the same Entity EJB to access the same table in 2 syb databases

    We are trying to convert an application to J2EE. We have the following
    concern. The application requires the use of 10 sybase databases with
    identical tables. One database per branch. We would like to be able to use the same set of entity EJBs to access all databases.
    One solution we can think of is to use bmp entity beans and have a dispatcher session bean pass the database that the entity bean has to connect to.
    Would it work?
    Is there a more elegant way to do this?

    I don't know if there is a more elegant way to do it, but that will work. I have a similar scenario, one database per customer. You'll have to use BMP and get your connections based on the branch.
    Each one of my DAO methods requires that a customer ID be passed in for each method. The customer ID is part of the primary key for each entity bean; therefore, if I need to find a deposit (entity) for a customer, I pass the customer ID and deposit ID to my session facade, create the PK using these, do a findByPrimaryKey, etc. In the ejbLoad, I use the customer ID and the deposit ID to pass into the DAO. There, another class (ConnectionFactory) returns a proper connection based on the customer ID passed, which I use to do my queries.
    Paul

  • EJB Entity/Session Transaction error

    I am getting an error from a Session EJB trying to update two distinct Entity EJB's. From the session bean I open a transaction and create two entity objects. But immediately after trying to create the first one I get the following message:
    com.evermind.server.rmi.OrionRemoteException: Error allocating db connection: java.sql.SQLException: Calling setAutoCommit(true) on a Connection is not allowed during a global transaction.; nested exception is: java.sql.SQLException: Calling setAutoCommit(true) on a Connection is not allowed during a global transaction.
    at com.evermind.server.ApplicationServerTransactionSynchronization.getConnection(ApplicationServerTransactionSynchronization.java:408)
    at CWUsuariosHome_EntityHomeWrapper20.create(CWUsuariosHome_EntityHomeWrapper20.java:535)
    at com.saniline.catweb.ejb.session.usuarios.UsuariosSessionBean.InsertarUsuario(UsuariosSessionBean.java:59)
    at UsuariosSession_StatelessSessionBeanWrapper2.InsertarUsuario(UsuariosSession_StatelessSessionBeanWrapper2.java:81)
    at com.saniline.catweb.servlet.ASS.ASS_editSSUserServlet.doPageService(ASS_editSSUserServlet.java:153)
    at com.saniline.catweb.servlet.CatalogoWebServlet.doPageService(CatalogoWebServlet.java:168)
    at com.saniline.snfw.servlet.SnFwSessionServlet.doPageService(SnFwSessionServlet.java:83)
    at com.saniline.snfw.servlet.SnFwServlet.service(SnFwServlet.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.saniline.snfw.servlet.SnFwServlet.service(SnFwServlet.java:54)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:663)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:285)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:126)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    I am using JDeveloper 10.1.2.1.

    I am using CMP Entity beans. These have their methods specified as "Supports" and the Session Bean (Stateless) has its method as "Required".
    I am using the container within the embeded OC4J server for debuging.
    The transaction is created within the Session Bean as:
    // Get a new transaction instance from session context
    UserTransaction ut = sctx.getUserTransaction();
    try {
    // begin transaction
    ut.begin();
    // Current time
    Timestamp currentTime = new Timestamp(new Date().getTime());
    // Insert record in CWUsuarios
    CWUsuarios newCWUsuarios = getCWUsuariosHome().create(null,
    cwUsuario.getLogin(), cwUsuario.getPassword(),
    cwUsuario.getNombre(), cwUsuario.getApellidos(),
    currentTime, currentTime, cwUsuario.getActivo(),
    cwUsuario.getRoot(), cwUsuario.getIdperfil());
    // Insert record in CWPreferencias
    CWPreferencias newCWPreferencias = getCWPreferenciasHome()
    .create(newCWUsuarios.getIdusuario(),
    cwPreferencias.getCodigoidioma(),
    cwPreferencias.getIdtema(),
    cwPreferencias.getNregslistados());
    however after returning form the getCWUsuariosHome().create method i get the specified error message.
    Thanks.

  • Using JDO under BMP entity beans

    I have an entity bean that is a BMP which uses JDO under the hood. The Oc4J document says that "Bean-managed persistence entity beans manage the resource locking within the bean implementation themselves" in the advanced subject chapter. Ok can someone in oracle add an extra line eloborating on that statement ?
    I am stuck in trying to pass a test that can do concurrent modify of an entity bean. I had 2 or more threads trying to modify one single BMP entity bean object concurrently. The database vendor recognizes one bean had the lock and deny locks to any other beans. Who should block the call to the database until one thread releases the lock on the object ? The developer ? J2EE container ? Database ?
    J2EE tenet "Developers are shielded from concurrency and threading issues while implementing business logic" Does that still hold ??
    An object Person's salary value and his benefit information are tried to be modified at the same time by different external system(salary administrator, benefit's administrator). But I dont want the user to see the lock on the object error, but instead I require a pessimistic lock on the BMP. Why does Oc4J not support pessimistic concurrency option for BMP ?

    Kurien,
    If you wish to bring something to the attention of the "Oracle dev team", I suggest you try Oracle's "MetaLink" Web site:
    http://metalink.oracle.com
    It is the official Oracle support Web site.
    These forums are for the Oracle community. Oracle Corporation employees are not obliged to even visit these forums.
    By the way, I am not an Oracle employee.
    Good Luck,
    Avi.
    P.S. For your information, you may find Debu Panda's blogs of help:
    http://radio.weblogs.com/0135826/

  • How to start and finish a transaction using EJB 3.0 in JDeveloper

    Hello everybody!
    Does anybody can explain how to start and finish a transaction using EJB 3.0. I need to start a transaction insert some information in some tables and if everything was fine commit the information.
    I put the annotation @TransactionManagement(TransactionManagementType.BEAN) in my session bean and @Resource SessionContext ejbContext; but I don't what anything else I have to do.
    Any help will be appreciate.

    I tryied to use in the client the statement EntityTransaction transaction = myBean.getTransact(); but I receive the EJBException: Cannot use resource level transactions with a container managed EntityManager
    I just need to start a transaction something like this: transaction.begin(); and finish the transaction, something like this: transaction.commit();
    Does anybody can help?

  • How to handle "The specified resource does not exist" exception while using entity group transactions to purge WADLogs table

    Hi,
    We have a requirement to purge the Azure WADLogs table on a periodic basis. We are achieving this by using Entity group transactions to delete the
    records older than 15 days. The logic is like this.
    bool recordDoesNotExistExceptionOccured = false;
    CloudTable wadLogsTable = tableClient.GetTableReference(WADLogsTableName);
    partitionKey = "0" + DateTime.UtcNow.AddDays(noOfDays).Ticks;
    TableQuery<WadLogsEntity> buildQuery = new TableQuery<WadLogsEntity>().Where(
    TableQuery.GenerateFilterCondition("PartitionKey",
    QueryComparisons.LessThanOrEqual, partitionKey));
    while (!recordDoesNotExistExceptionOccured)
    IEnumerable<WadLogsEntity> result = wadLogsTable.ExecuteQuery(buildQuery).Take(1000);
    //// Batch entity delete.
    if (result != null && result.Count() > 0)
    Dictionary<string, TableBatchOperation> batches = new Dictionary<string, TableBatchOperation>();
    foreach (var entity in result)
    TableOperation tableOperation = TableOperation.Delete(entity);
    if (!batches.ContainsKey(entity.PartitionKey))
    batches.Add(entity.PartitionKey, new TableBatchOperation());
    // A Batch Operation allows a maximum 100 entities in the batch which must share the same PartitionKey.
    if (batches[entity.PartitionKey].Count < 100)
    batches[entity.PartitionKey].Add(tableOperation);
    // Execute batches.
    foreach (var batch in batches.Values)
    try
    await wadLogsTable.ExecuteBatchAsync(batch);
    catch (Exception exception)
    // Log exception here.
    // Set flag.
    if (exception.Message.Contains(ResourceDoesNotExist))
    recordDoesNotExistExceptionOccured = true;
    break;
    else
    break;
    My questions are:
    Is this an efficient way to purge the WADLogs table? If not, what can make this better?
    Is this the correct way to handle the "Specified resource does not exist exception"? If not, how can I make this better?
    Would this logic fail in any particular case?
    How would this approach change if this code is in a worker which has multiple instances deployed?
    I have come up with this code by referencing the solution given
    here by Keith Murray.

    Hi Nikhil,
    Thanks for your posting!
    I tested your and Keith's code on my side, every thing worked fine. And when result is null or "result.count()<0", the While() loop is break. I found you code had some logic to handle the error "ResourceDoesNotExist" .
    It seems that the code worked fine. If you always occurred this error, I suggest you could debug your code and find which line of code throw the exception.   
    >> Is this an efficient way to purge the WADLogs table? If not, what can make this better?
    Base on my experience, we could use code (like the above logic code) and using the third party tool to delete the entities manually. In my opinion, I think the code is every efficient, it could be auto-run and save our workload.
     >>Is this the correct way to handle the "Specified resource does not exist exception"? If not, how can I make this better?
    In you code, you used the "recordDoesNotExistExceptionOccured " as a flag to check whether the entity is null. It is a good choice. I had tried to deleted the log table entities, but I used the flag to check the result number.
    For example, I planed the query result count is 100, if the number is lower than 100, I will set the flag as false, and break the while loop. 
    >>Would this logic fail in any particular case?
    I think it shouldn't fail. But if the result is "0", your while loop will always run. It will never stop. I think you could add "recordDoesNotExistExceptionOccured
    = true;" into your "else" block.
    >>How would this approach change if this code is in a worker which has multiple instances deployed?
    You don't change anything expect the "else" block. It would work fine on the worker role.
    If any question about this issue, please let me know free.
    Regards,
    Will
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Using DAO without J2EE/EJB

    Can I implement the DAO pattern in my 2-tiered application without using J2EE/EJB? My reason for using DAO is simply to insulate database changes from interface/business code and to make interface/business code easier to write.

    Sure, go ahead.

  • Error while using "edit" transaction on Equipment Object - SAP Work manager on Syclo Agentry

    Hello Experts,
    I am trying to execute an edit transaction on Equipment object. I have currently called the edit transaction using a button on Equipment Details screen as follows.
    1) Created a transaction on Equipment object.
    P
    2) Properties have "EquipmentID".
    3) Config. under this property:
    4) the Update step under this transaction.
    5) the action which calls this transaction:
    6) Action steps:
    7) Action step to call the transaction:
    Apart from these settings, I have created the required screen set, required button, navigation, set up fields on the screen referring to the transaction and all other required settings.
    Now, while running the application, I am able to navigate and pass the field values from details screen to custom edit screen.
    While clicking on apply (green check button), it throws the following error:
    What can be missing here? Is it mandatory to create a rule on Key property of the transaction? As of now, no rule exists on the ID as it is an edit transaction.
    Any help will be greatly appreciated.

    Hi Steve,
    Thank you so much for your reply. along with these 3 steps, I also changed the action step to point it to equipment instead of "none" and it stopped throwing the error.
    However, I got an exception while executing the BAPI using stephandler.
    My source code looks as below.
    Steplet:
    public boolean execute() throws AgentryException {
        try{
    EquipmentEditStephandler handler = new EquipmentEditStephandler((com.syclo.sap.User)_user);
    handler.editEquipment();
        return true;
        catch(Throwable exception){
        throwExceptionToClient(exception);
        return false;
    StepHandler:
    public void editEquipment() throws Exception{
            CustEquipment[] array = null;
            CustEquipment custEquipObj = new CustEquipment();
            EquipmentEditBapi bapi = new EquipmentEditBapi(user, new GregorianCalendar());
            bapi.run(custEquipObj);
            bapi.processResults();
    The BAPI code to set parameters:
    public void setParameters(SAPObject obj) throws Exception
    super.setParameters(obj);
    try {
    Logger log = new Logger(_user, "FetchBAPI_Java_Class");
    //Pass Transaction Vales to BAPI_WRAPPER
    JCO.Structure jcoStructure = _imports.getStructure("IS_EQUI_ADDR");
    String City = user.getString("transaction.City");
    setValue(jcoStructure, log, "CITY", City);
    String Country = user.getString("transaction.Country");
    setValue(jcoStructure, log, "COUNTRY", Country);
    String Name2 = user.getString("transaction.Name2");
    setValue(jcoStructure, log, "NAME2", Name2);
    String EquipmentID = user.getString("transaction.EquipmentID");
    setValue(jcoStructure, log, "EQUIPMENTID", EquipmentID);
    catch (Exception e) {
    user.rethrowException(e, true);
    while executing, the data structure that reaches ECC, is blank.
    on the Java front, this exception is thrown:

  • Mapping of an entity EJB to multiple database tables using CMP?

    Can one entity EJB have attributes split between (mapped to) multiple databse tables?
    Would CMR work properly between two such entity EJBs (both mapped to multiple database
    tables).

    Hi Milos.
    Can one entity EJB have attributes split between (mapped to) >>multiple databasetables?
    A CMP Entity should be always mapped a record in a single DB table.
    Thanks.
    Ji Zhang
    Developer Relations Engineer
    BEA Support

  • Deploying BMP Entity Bean with primary key calss

    Hi,
    I am using EJB 2.0 with and websphere studio 5.0 and database is sql server 2000.
    My BMP Entity bean has a primary key class.From my client I am invoking the Entity Bean by calling it's findbyprimarykey method.
    The home interface of my findbyprimarykey method returns a class of type Remote.But in the Entity Bean class,the return type is the primarykey class type.
    My problem is invoking this findbyprimarykey from the client to get the remote interface so that the other business methods of the entity bean can be called.
    The control goes into the ejbFindbyPrimaryKey but when it is returing from the Entity Bean class,it gives a remote exception (as the return type in Entity Bean class and Home interface are different for the findbyprimarykey method).
    I think that somewhere in the deployment decriptor in my websphere,i have to specify the primarykey class type,which i am missing out and hence getting the error.
    Please help me out with your advice and solution.
    Thanks
    Rahul Priyadarshi

    Hi,
    Sorry to disturb you again.
    Even my code is also almost the same....i am pasting the code below...Please go through it and let me know if I have made any mistake..
    EditVendorEntityBean.....(Bean Class)
    package code.beans.EditVendor;
    import code.beans.dataAccess.*;
    import javax.ejb.CreateException;
    import javax.ejb.RemoveException;
    import javax.ejb.EntityBean;
    import javax.ejb.EntityContext;
    import javax.ejb.EJBException;
    import javax.ejb.FinderException;
    import javax.ejb.ObjectNotFoundException;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import java.sql.*;
    import javax.sql.*;
    import java.util.*;
    * Bean implementation class for Enterprise Bean: EditVendorEntity
    public class EditVendorEntityBean implements javax.ejb.EntityBean {
         private static Hashtable dataSources = new Hashtable();
         private String username;
    private int Vendor_ID;
    private int Category_Id;
    private String Category_Name;
    private String Vendor_Name;
    private String Vendor_Address1;
    private String Vendor_Address2;
    private String Contact_Name;
    private String Home_Phone;
    private String Work_Phone;
    private String email;
    private String faxno;
    private String userloginname;
    private boolean dirtyFlag = false;
    private EntityContext context;
    private static final String DS_NAME = "jdbc/spiPOPS";
    Connection con = null;
    Statement stmt = null;
    PreparedStatement st = null;
    ResultSet res = null;
         //***********************Business Methods*********************
    // Begin of Busines Methods
    public void setData (String[] catname, String vendorname,String vendadd1,String vendadd2,String vendcontact,String venoff,String venres,String mailid,String venfax) {
              System.out.println("in setData where Vendor Id= "+ Vendor_ID);
                   boolean status=false;
                   boolean existing=false;
                   ArrayList cat=new ArrayList();
                   try
                        cat=getcategorylist(this.Vendor_ID);
                   catch(SQLException e)
                        System.out.println("Could not get category list");
                   System.out.println("Size of cat array -->" + cat.size() + " and string array size -->" + catname.length);
                   if(catname.length>0)
                        //Removing unwanted vendor categories for a particular vendor id
                        for(int i=0;i<cat.size();i++)
                                  existing=false;
                                  String tempdata=(String)cat.get(i);
                                  for(int j=0;j<catname.length;j++)
                                       if(tempdata.equals(catname[j]))
                                            existing=true;
                                  if(!existing)
                                       try
                                            delvencat(this.Vendor_ID,tempdata.trim());
                                       catch(SQLException e)
                                            System.out.println("Could not delete record in POPS_VENDOR_CATEGORY for -->" + tempdata);
                   //Adding new vendor categories for a particular vendor
                        try
                                  for(int i=0;i<catname.length;i++)
                                       status=false;
                                       String strcat=catname;
                                       status=checkcat(this.Vendor_ID,strcat.trim());
                                       if(!status)
                                            insertvencat(this.Vendor_ID,strcat.trim());
                        catch(SQLException e)
                                  System.out.println("Could not insert or select from POPS_VENDOR_CATEGORY table");
                   this.Vendor_Name          =vendorname;
              this.Vendor_Address1     =vendadd1;
              this.Vendor_Address2     =vendadd2;
              this.Contact_Name          =vendcontact;
              this.Work_Phone               =venoff;
              this.Home_Phone               =venres;
              this.email                    =mailid;
              this.faxno                    =venfax;
                   dirtyFlag = true;
                   System.out.println("Leaving set data method");
    public Vector getData() {
         Vector vctRec=new Vector();
         ArrayList arrdatas = new ArrayList();
         arrdatas.add(""+this.Vendor_ID);
         arrdatas.add(this.Vendor_Name);
         arrdatas.add(this.Vendor_Address1);
         arrdatas.add(this.Vendor_Address2);
         arrdatas.add(this.Contact_Name);
         arrdatas.add(this.Work_Phone);
         arrdatas.add(this.Home_Phone);
         arrdatas.add(this.email);
         arrdatas.add(this.faxno);
         vctRec.addElement(arrdatas);
         ArrayList cat=new ArrayList();
              try
              System.out.println("Calling getcategorylist from getdata with vendorid-->" + this.Vendor_ID);
              cat          = getcategorylist(this.Vendor_ID);
         catch(SQLException e)
                   System.out.println("Could not get datas for category list");
         vctRec.addElement(cat);
         ArrayList allcats=new ArrayList();
         try
                        allcats          = getallcategorylist();
              catch(SQLException e)
                        System.out.println("Could not get datas for category list");
         vctRec.addElement(allcats);
              dirtyFlag = false;
         System.out.println("Before return statement in getdata with vector size -->" + vctRec.size());
              return vctRec;
    // End of Business Methods
    //**************************Entity Bean Methods*******************************
         * ejbActivate
         public void ejbActivate() {
              Vendor_ID = Integer.parseInt((String)context.getPrimaryKey());
         System.out.println("Inside ejbActivate Vendor_ID-->"+ Vendor_ID);
         * ejbLoad
         public void ejbLoad() {
              System.out.println("Inside ejbLoad ********" );
    try {
    loadRow();
    }catch (Exception ex) {
              System.out.println("Failed in loadRow()");
    throw new EJBException("ejbLoad: " +
    ex.getMessage());
         * ejbPassivate
         public void ejbPassivate() {
         System.out.println("Inside ejbPassivate " );
    Vendor_ID = 0;
         * ejbRemove
         public void ejbRemove() throws javax.ejb.RemoveException {
              //Empty Method
         * ejbStore
         public void ejbStore() {
    System.out.println("Inside ejbStore " );
    try {
    storeRow();
    }catch (Exception ex) {
              System.out.println("Exception thrown in storeRow" + ex.getMessage());
    throw new EJBException("ejbLoad: " +
    ex.getMessage());
         * getEntityContext
         public javax.ejb.EntityContext getEntityContext() {
              return context;
         * setEntityContext
         public void setEntityContext(javax.ejb.EntityContext ctx) {
              System.out.println("Inside setEntityContext " );
    try{
         con = getConnection(DS_NAME);
         System.out.println("DB Connection Created!!");
    catch(Exception e){
    this.context = ctx;
         * unsetEntityContext
         public void unsetEntityContext() {
    System.out.println("Inside unsetEntityContext " );
    closeDbConnection(con, res, st);
    this.context = null;
         * ejbCreate
         //code.beans.EditVendor.EditVendorEntityKey
         public code.beans.EditVendor.EditVendorEntityKey ejbCreate(String vendorid)
              throws javax.ejb.CreateException {          
              return new EditVendorEntityKey(vendorid);
              //return null;
         * ejbPostCreate
         public void ejbPostCreate(String vendorid) throws javax.ejb.CreateException {
              //Empty
         * ejbFindByPrimaryKey
         //code.beans.EditVendor.EditVendorEntityKey
         public code.beans.EditVendor.EditVendorEntityKey ejbFindByPrimaryKey(
              code.beans.EditVendor.EditVendorEntityKey primaryKey)
              throws javax.ejb.FinderException {
    try {
    if(selectByPrimaryKey(Integer.parseInt(primaryKey.getVendorId()))) {
              System.out.println("Leaving the findbyprimarykey method from the entity bean");
         return primaryKey;
         //return null;
    }else {
         throw new ObjectNotFoundException
         ("Row for id " + primaryKey + " not found.");
    }catch (Exception ex) {
    throw new EJBException("EXCEPTION IN ejbFindByPrimaryKey :- " + ex.getMessage());
         /*********************** Database Utility Routines *************************/
    private boolean selectByPrimaryKey(int priKey)
    throws SQLException {
         System.out.println("inside selectByPrimaryKey for primary key " + priKey);
    String queryStr ="SELECT VENDOR_ID FROM POPS_VENDOR WHERE VENDOR_ID = " + priKey;
    System.out.println("in selectByPrimaryKey where queryString is: "+ queryStr);
              stmt = con.createStatement();
    ResultSet result = stmt.executeQuery(queryStr);
    if(!result.next()) {
    stmt.close();
         System.out.println("Did not find "+priKey);
    return false;
    else { //Found the primaryKey
    Vendor_ID = result.getInt("VENDOR_ID");
    stmt.close();
    return true;
    private void loadRow() throws SQLException {
              System.out.println("inside loadRow ...");
              stmt = con.createStatement();
              String queryStr = "SELECT VENDOR_NAME,VENDOR_ADDRESS1,VENDOR_ADDRESS2,CONTACT_NAME,HOME_PHONE,WORK_PHONE,EMAIL_ID,FAX_NO " +
                                  "FROM POPS_VENDOR WHERE VENDOR_ID=" + Vendor_ID;
              System.out.println("Inside loadRow()***********"+queryStr);
              ResultSet result = stmt.executeQuery(queryStr);
              ArrayList catadatas=new ArrayList();
         if(!result.next())
         throw new SQLException("No record for primary key" + Vendor_ID);
              this.Vendor_ID               =Vendor_ID;
                        this.Vendor_Name          =result.getString("VENDOR_NAME");
                        this.Vendor_Address1     =result.getString("VENDOR_ADDRESS1");
                        this.Vendor_Address2     =result.getString("VENDOR_ADDRESS2");
                        this.Contact_Name          =result.getString("CONTACT_NAME");
                        this.Home_Phone               =result.getString("HOME_PHONE");
                        this.Work_Phone               =result.getString("WORK_PHONE");
                        this.email                    =result.getString("EMAIL_ID");
                        this.faxno                    =result.getString("FAX_NO");
                             System.out.println("Leaving loadrow method with loaded datas for vendor -->" + Vendor_ID);
                             stmt.close();
    private ArrayList getcategorylist(int vendor) throws SQLException{
              String queryStr ="SELECT DISTINCT(VENDOR_CAT) FROM POPS_VENDOR_CATEGORY WHERE VENDOR_ID=" + vendor;
              System.out.println("Query for the cat list --> " + queryStr);
              stmt = con.createStatement();
              ResultSet result = stmt.executeQuery(queryStr);
              ArrayList catdatas=new ArrayList();
    try{
                   while(result.next())
                        catdatas.add(result.getString("VENDOR_CAT"));
              catch (SQLException e){
                   stmt.close();
                   System.out.println("Could not retrieve datas for Category list");
              stmt.close();
              System.out.println("size off array for cat -->" + catdatas.size() + " and datas ->" + catdatas);
              return catdatas;
         private ArrayList getallcategorylist() throws SQLException{
                   //String queryStr ="SELECT DISTINCT(VENDOR_CAT) FROM POPS_VENDOR_CATEGORY";
                   StringBuffer strquery=new StringBuffer(20);
                   strquery.append("SELECT DISTINCT(CATEGORY_NAME) FROM POPS_CATEGORY");
                   stmt = con.createStatement();
                   //ResultSet result = stmt.executeQuery(queryStr);
                   ResultSet result = stmt.executeQuery(strquery.toString());
                   ArrayList catdatas=new ArrayList();
                   try{
                        while(result.next())
                                  //catdatas.add(result.getString("VENDOR_CAT"));
                                  catdatas.add(result.getString("CATEGORY_NAME"));
                   catch (SQLException e){
                             stmt.close();
                             System.out.println("Could not retrieve datas for All Category list");
                   stmt.close();
                   return catdatas;
         private void delvencat(int vendor,String vencat) throws SQLException {
              int update=-1;
              stmt = con.createStatement();
              String queryStr ="DELETE FROM POPS_VENDOR_CATEGORY WHERE VENDOR_ID = " + vendor + " AND VENDOR_CAT = '" + vencat.toUpperCase() + "'";
              System.out.println("Delete query --> " + queryStr);
              update= stmt.executeUpdate(queryStr);
              if(update!=1)
                   System.out.println("Did not find data to delete");
              stmt.close();
         private void insertvencat(int vendor,String vencat) throws SQLException {
              int update=-1;
              String queryStr ="INSERT INTO POPS_VENDOR_CATEGORY(VENDOR_ID,VENDOR_CAT)" +
                                  " VALUES(" + vendor +",'" + vencat + "')";
              System.out.println("Insert query --> " + queryStr);
              stmt = con.createStatement();
              update=stmt.executeUpdate(queryStr);
              if(update!=1)
                   System.out.println("Could not insert records in the database");
              stmt.close();
         private boolean checkcat(int vendor,String catven) throws SQLException {
              boolean datastatus=false;
              String queryStr ="SELECT VENDOR_ID FROM POPS_VENDOR_CATEGORY WHERE VENDOR_ID = " + vendor + " AND VENDOR_CAT = '" + catven.toUpperCase() + "'";
              stmt = con.createStatement();
              ResultSet result = stmt.executeQuery(queryStr);
              datastatus=result.next();
              stmt.close();
              return datastatus;
    private void storeRow() throws SQLException {
                   System.out.println("Inside ejb store");
         if (!dirtyFlag) {
         System.out.println("Skipping the UPDATE because object is not dirty");
         return;
         CallableStatement cs=null;
    try{
                        cs = con.prepareCall("EXEC POPS_VENDOR_UPDATE " + this.Vendor_ID + ",'" + this.Vendor_Name + "','" + this.Vendor_Address1 + "','" + this.Vendor_Address2 + "','" + this.Contact_Name + "','" + this.Work_Phone + "','" + this.Home_Phone + "','" + this.email + "','" + this.faxno +"'");
                        System.out.println("\n\n SQL Statement : \n " + "EXEC POPS_VENDOR_UPDATE " + this.Vendor_ID + ",'" + this.Vendor_Name + "','" + this.Vendor_Address1 + "','" + this.Vendor_Address2 + "','" + this.Contact_Name + "','" + this.Work_Phone + "','" + this.Home_Phone + "','" + this.email + "','" + this.faxno +"'");
                        cs.executeUpdate();
              catch (SQLException e){
                        cs.close();
                        System.out.     println("\n\n Error in calling stored procedure POPS_INSERT_NEW_REQUEST \n\n"+ e.getMessage() + "\n\n");
              cs.close();
              dirtyFlag = false;
         private Connection getConnection(String dbName) throws SQLException
              String configuredDataSourceName = null;
              if (dbName == null) {
                   System.out.println("Attemp to get connection failed. The requested database name is null");
              DataSource dbSource = getDataSource(dbName);
              return dbSource.getConnection();
         private DataSource getDataSource(String dbName)
              // looking from cache;
              DataSource dbSource = (DataSource) dataSources.get(dbName);
              if (dbSource == null) { //we need to find it from JNDI
                   try {
                        Context ic = new InitialContext();
                        dbSource = (DataSource) ic.lookup(dbName);
                        dataSources.put(dbName, dbSource);
                   }catch (NamingException e){
              return dbSource;
         * User calls this function to safely close an connection
         * @param connt The connection a datasource
         * @param rs The resulSet inside this connection
         * @param statement The statement associate with this connection
         private void closeDbConnection(Connection cont,ResultSet rs,Statement statement)
              if (rs != null)
              try {
                        rs.close();
                   } catch (SQLException ignored) {
                        ignored.printStackTrace();
              if (statement != null)
                   try {
                        statement.close();
                   } catch (SQLException ignored) {
                        ignored.printStackTrace();
              if (cont != null)
                   try {
                        cont.close();
                   } catch (SQLException ignored) {
                        ignored.printStackTrace();
         } //closeDbConnection
    EditVendorEntity (Remote Interface)
    package code.beans.EditVendor;
    import javax.ejb.EJBObject;
    import java.rmi.RemoteException;
    import java.util.*;
    * Remote interface for Enterprise Bean: EditVendorEntity
    public interface EditVendorEntity extends javax.ejb.EJBObject {
         public void setData (String[] catname, String vendorname,String vendadd1,String vendadd2,String vendcontact,String venoff,String venres,String mailid,String venfax)
                   throws RemoteException;
    public Vector getData() throws RemoteException;
    EditVendorEntityHome (Home Interface)
    package code.beans.EditVendor;
    import java.rmi.RemoteException;
    import javax.ejb.CreateException;
    import javax.ejb.FinderException;
    import javax.ejb.DuplicateKeyException;
    import javax.ejb.EJBHome;
    import java.util.*;
    * Home interface for Enterprise Bean: EditVendorEntity
    public interface EditVendorEntityHome extends javax.ejb.EJBHome {
         * Creates an instance from a key for Entity Bean: EditVendorEntity
         public code.beans.EditVendor.EditVendorEntity create(String vendorid)
              throws javax.ejb.CreateException, java.rmi.RemoteException;
         * Finds an instance using a key for Entity Bean: EditVendorEntity
         public code.beans.EditVendor.EditVendorEntity findByPrimaryKey(
              code.beans.EditVendor.EditVendorEntityKey Vendor_ID)
              throws javax.ejb.FinderException, java.rmi.RemoteException;
    EditVendorEntityKey (Primary Key Class)
    package code.beans.EditVendor;
    * Key class for Entity Bean: EditVendorEntity
    public class EditVendorEntityKey implements java.io.Serializable {
         static final long serialVersionUID = 3206093459760846163L;
         public String primkey;
         * Creates an empty key for Entity Bean: EditVendorEntity
         public EditVendorEntityKey() {  }
         public EditVendorEntityKey(String primarykey) {     
              this.primkey=primarykey;
         public String getVendorId() {
    return primkey;
         * Returns true if both keys are equal.
         public boolean equals(java.lang.Object otherKey) {
              if (otherKey instanceof code.beans.EditVendor.EditVendorEntityKey) {
                   code.beans.EditVendor.EditVendorEntityKey o =
                        (code.beans.EditVendor.EditVendorEntityKey) otherKey;
                   return (primkey.equals(otherKey));
              return false;
         * Returns the hash code for the key.
         public int hashCode() {
              return (primkey.hashCode());
    Please go through and give me your comments and solution...
    Thanks in advance
    Rahul

Maybe you are looking for

  • Applying a style doesn't change font

    I have copied and pasted some text from another program. When I try to apply the Body Style to it all the original fonts are retained (size, font name, color). How do I change everything to match the style I want? Is there a way to remove all formatt

  • Broadband Support

    Hi, I've been trying to call BT Broadband Support for the past few days to follow up a case.. all I seem to be getting is "Sorry, our helpdesk is closed" when apparently it's a 24/7 line. I work days, so it's easier for me to call of a night but unfo

  • Dynamically change CRS port display name / number

    I have a script that performs a call consult transfer out to a shared DN. The calling number presents itself as the CRS port while it is ringing on the DN. If the call goes unanswered, the missed call shows the CRS port details. What I'd like to do i

  • Can't install Updates to Photoshop CS6

    I have tried everything to install updates that I can think of, but still have had no success.  The option to check for updates in Photoshop 6 is grayed out(I am running Windows 7 on a relatively new machine).  I tried downloading the update and inst

  • FYI: Deploying Infobus Applet

    This is a response to multiple posts on problems with deploying the Infobus Applet tutorial. When you create your applet.jar file, here are some explicit steps to follow when using the Deployment wizard, followed by some general notes on deploying ap