Ejb : entity beans limitations

what are the limitations of bmp & cmp?

"Chinthala Upender" <[email protected]> wrote in message news:28421839.1104135395183.JavaMail.root@jserv5...
what are the limitations of bmp & cmp?According to my experience the main limitation is that engineers are
sometimes reluctant to read books on basics of Enterprise Java Beans.
To overcome this limitation please check this:
http://www.amazon.com/exec/obidos/tg/detail/-/0471417114
Regards,
Slava Imeshev

Similar Messages

  • How to delete a database record by using EJB entity beans

    Hi, All,
    Does anyone know how to use entity bean to delete a database record? I have all the EJB entity beans created, including access beans to each. I can successfully create records, find and update records, however, I haven't find a way to delete records yet.
    Your response is appreciated.
    Cathy

    Please see EJB Forums for continue discussion on this subject.
    Reference titile: "how to delete database record by using CMP entity beans "

  • EJB entity beans and BC4J

    I have looked at BC4J and it looks good. Buy my question is that isn't this frame work in direct conflict with EJB entity beans. I know lot of stuff that is there in BC4J should have been in EJB enitiy beans, but as a developer why should I go with BC4J and not the standard EJB stuff considering the fact that BC4J is properietery to Oracle?Any thoughts?

    Vimal,
    Without going into exhaustive detail here, I would like to recommend that you take a look at the BC4J Technical White Paper available from the JDeveloper page on OTN (in the 3.0 Technical Information section):
    http://technet.oracle.com/products/jdev/info/techwp20/wp.html
    Amoung other things to note, BC4J is based on pure Java, and is what we consider a 'white box', meaning, you as a developer have complete control over what is going on. You can extend any of the code generated to customize it.
    Primarily though, the major benefit of BC4J is that we have taken care of most of the complicated communication code for you. Communication between the client and the data server, transaction handling, row locking, etc are already written for you. You just use, extend, customize what we have provided.
    In addition, BC4J allows you flexibility in your deployment environment decision. Regardless of where and how you deploy your BC4J Application Module, the client is unchanged.
    Those are the key advantages. Again, for more details, I would take a look at the white paper to see if it more fully addresses your questions.

  • Are EJB ( entity beans) are cached ?

    Are EJB ( entity beans) are cached ?
    I have a doubt here . As per my understanding , the entity beans are cached from the database. In that case , If I delete a row in the database by an external application ( say using TOAD tool) , how the Entity bean will be updated / reloaded ? Entity bean will be out of sync then .
    Application server : weblogic/webspehere .

    >
    You can use the refresh method of the EntityManager interface to read new values from the database (if you expect it to be out of sync), and use locks to prevent others from changing your data while the application is performing actions in a transaction.Did you mean I have to write code for this ? can't be made it automatic refresh by the container ? Is there any settings I can configure so that container can do it by itself proactively ?
    Also, using locks ...is this a container settings or I need to configure myself in ejb-jar.xml ? Could you please shed some light here ?

  • Does JServer support EJB/Entity beans

    What version of JServer lives in the following applications, and does it support EJB/Entity Beans or when will it.
    8.1.5 OAS
    8.1.5 8i
    8.1.6 OAS
    8.1.6 8i

    Check out the following link for details about the Beta Program: http://technet.oracle.com/products/oracle8i/java_beta/index.htm
    New features that will be available in the Beta include support for Entity Beans, and support for Servlets. It also includes JServer Accelerator (JServer's Native Compiler).

  • Problems accessing tables in oracle database with ejb entity bean

    I have created a simple server application that uses an entity bean (version 2.0) for an existing table in oracle database, and a session bean that is used as an outside interface for performing operations on that table.
    after deploying the server and client application the client attempts to perform an operation with the session bean remote interface it obtained.
    The session bean uses a locale interface to communicate with the entity bean, but when it tries to use its methods (create, findByXXX) it always get the following Exception: java.sql.SQLException: ORA-00942: table or view does not exist.
    the table of course exists, and the username password I'm using has all the permissions needed for this table.
    note - I'm using the Forte enterprise edition 4.0 as developer tool.
    I'll be glad to get some help.
    Here is the full stack trace of the exception:
    javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean; nested exception is: javax.ejb.EJBException: nested exception is: java.sql.SQLException: ORA-00942: table or view does not exist
    javax.ejb.EJBException: nested exception is: java.sql.SQLException: ORA-00942: table or view does not exist
    java.sql.SQLException: ORA-00942: table or view does not exist
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:643)
    at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:1674)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1870)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:363)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:314)
    at com.sun.ejb.persistence.SQLEngine.ejb20Finder(SQLEngine.java:226)
    at com.sun.ejb.persistence.PartitionImpl.ejbFinder(PartitionImpl.java:736)
    at com.cti2.telco.core.ejb.entity.userInfo.UserInfoEJB_PM.ejbFindByEmail(UserInfoEJB_PM.java:393)
    at com.cti2.telco.core.ejb.entity.userInfo.UserInfoEJB_PM_LocalHomeImpl.findByEmail(UserInfoEJB_PM_LocalHomeImpl.java:64)
    at com.cti2.telco.core.ejb.UserManagerEJB.authenticate(UserManagerEJB.java:77)
    at com.cti2.telco.core.ejb.UserManagerEJB.authenticate(UserManagerEJB.java:68)
    at com.cti2.telco.core.ejb.UserManagerEJB_EJBLocalObjectImpl.authenticate(UserManagerEJB_EJB
    LocalObjectImpl.java:63)
    at com.cti2.telco.core.ejb.dispatch.TelcoFacadeEJB.userLogin(TelcoFacadeEJB.java:80)
    at com.cti2.telco.core.ejb.dispatch.TelcoFacadeEJB_EJBObjectImpl.userLogin(TelcoFacadeEJB_EJBObjectImpl.java:24)
    at com.cti2.telco.core.ejb.dispatch._TelcoFacadeEJB_EJBObjectImpl_Tie._invoke(Unknown Source)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(GenericPOAServerSC.java:519)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(GenericPOAServerSC.java:204)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAServerSC.java:112)
    at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:273)
    at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProcessor.java:84)
    at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run(ThreadPool.java:99)
    ...

    Well it seems like the problems has a simple explanation. The Forte assigns a default table name (<entityName>EJBTable) when creating an entity bean from an existsing table in DB (which is not the same as the one it was created from !!!). Also, for reason unknown, when you deploy these entity beans, it doesn't even create the new table under its new name (even if instructed to).
    So using the Forte we managed to use successfuly only entity beans that were created "from scretch" (when deployed their tables are created).
    Does anyone know how to change the default name the Forte uses, and make it work properly with entity beans created from an existsing table (without going over the xml's) ?

  • Problem deploying EJB entity bean

    Hi all!
    I'm trying to deploy an CMP entity bean with composite primary key.
    My environment is Oracle 8i (8.1.7) on W2K Professional and I'm using JDK 1.3.1_02.
    The error I get is:
    Compiling Stubs...done
    Generating Jar File...done
    Loading EJB Jar file and Comm Stubs Jar file...done
    Generating EJBHome and EJBObject on the server...
    An exception occurred during code generation: null
    I don't understand what am I doing wrong...
    Any help will be highly appreciated.
    [Could anyone point me out sample code for CMP entity beans with composite primary key?]
    Apologies for the length of the POST, just trying to pass as much info as I can...
    The table is the following:
    CREATE TABLE GPS_HIST (
    gps_date_of_fix     VARCHAR2(40) NOT NULL,
    gps_time_of_fix     VARCHAR2(40) NOT NULL,
    issi               NUMBER(10) NOT NULL,
    gps_condition          NUMBER(5),
    gps_latitude          VARCHAR2(40),
    gps_longitude          VARCHAR2(40),
    gps_speed_knt          NUMBER(10),
    constraint gps_hist_pk primary key (gps_date_of_fix, gps_time_of_fix, issi))
    TABLESPACE AVLDATA
    PCTFREE 10     PCTUSED 40
    INITRANS 1     MAXTRANS 255
    STORAGE (
    INITIAL 128K NEXT 128K PCTINCREASE 0
    MINEXTENTS 1 MAXEXTENTS 4096)
    NOCACHE;
    The primary key class is the following:
    package gps;
    public class GPSEntryPK implements java.io.Serializable
         public int ISSI;
         public String gpsTimeOfFix;
         public String gpsDateOfFix;
         public GPSEntryPK() {}
         public GPSEntryPK (String gpsDateOfFix, String gpsTimeOfFix, int ISSI)
              this.gpsDateOfFix = gpsDateOfFix;
              this.gpsTimeOfFix = gpsTimeOfFix;
              this.ISSI = ISSI;
         public String getGPSDateOfFix()
              return this.gpsDateOfFix;
         public String getGPSTimeOfFix()
              return this.gpsTimeOfFix;
         public int getISSI()
              return this.ISSI;
         public boolean equals(Object obj) {
              if ((obj instanceof GPSEntryPK) &&
                   (this.ISSI == ((GPSEntryPK)obj).ISSI) &&
                   (this.gpsTimeOfFix.equals(((GPSEntryPK)obj).gpsTimeOfFix)) &&
                   (this.gpsDateOfFix.equals(((GPSEntryPK)obj).gpsDateOfFix)))
                   return true;
              return false;
         public int hashCode() {
              return (this.gpsTimeOfFix.concat(this.gpsDateOfFix)).hashCode() * this.ISSI;
    The bean implemantation (part of it) is as follows:
    public void setEntityContext(EntityContext ctx)
    this.ctx = ctx;
    Properties props = ctx.getEnvironment();
    public void unsetEntityContext()
    this.ctx = null;
    public GPSEntryPK ejbCreate(String gpsDateOfFix, String gpsTimeOfFix, int ISSI, int gpsCondition,
    String gpsLatitude, String gpsLongitude, double gpsSpeedKnt)
    throws CreateException, RemoteException
    try {
    setGPSDateOfFix(gpsDateOfFix);
    setGPSTimeOfFix(gpsTimeOfFix);
    setISSI(ISSI);
    setGPSCondition(gpsCondition);
    setGPSLatitude(gpsLatitude);
    setGPSLongitude(gpsLongitude);
    setGPSSpeedKnt(gpsSpeedKnt);
    } catch (java.rmi.RemoteException e) {
    throw new CreateException();
    return null;
    public GPSEntryPK ejbFindByPrimaryKey(GPSEntryPK pk) throws RemoteException, FinderException {
    return null;
    public void ejbPostCreate(String gpsDateOfFix, String gpsTimeOfFix, int ISSI, int gpsCondition,
    String gpsLatitude, String gpsLongitude, double gpsSpeedKnt)
         throws CreateException
    // get primarykey
    GPSEntryPK pk = (GPSEntryPK)ctx.getPrimaryKey();
    public void ejbActivate() {}
    public void ejbPassivate() {}
    public void ejbRemove() {}
    public void ejbLoad()
    // You can get to the primary key
    GPSEntryPK pk = (GPSEntryPK)ctx.getPrimaryKey();
    public void ejbStore(){}
    The descriptors are the following:
    "gpsentry.xml"
    <?xml version="1.0"?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems Inc.//DTD Enterprise JavaBeans 1.1//EN" "ejb-jar.dtd">
    <ejb-jar>
    <enterprise-beans>
    <entity>
    <description>no description</description>
    <ejb-name>GPSEntry</ejb-name>
    <home>gps.GPSEntryHome</home>
    <remote>gps.GPSEntry</remote>
    <ejb-class>gpsServer.GPSEntryBean</ejb-class>
    <persistence-type>Container</persistence-type>
    <prim-key-class>gps.GPSEntryPK</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-field><field-name>gpsDateOfFix</field-name></cmp-field>
    <cmp-field><field-name>gpsTimeOfFix</field-name></cmp-field>
    <cmp-field><field-name>ISSI</field-name></cmp-field>
    <env-entry>
    <env-entry-name>realmName</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>gps.realm</env-entry-value>
    </env-entry>
    <env-entry>
    <env-entry-name>GPSEntryBean.databaseURL</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>jdbc:oracle:kprb:</env-entry-value>
    </env-entry>
    <env-entry>
    <env-entry-name>GPSEntryBean.JDBCDriverName</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>oracle.jdbc.driver.OracleDriver</env-entry-value>
    </env-entry>
    </entity>
    </enterprise-beans>
    </ejb-jar>
    "oracle_gpsentry.xml"
    <?xml version="1.0"?>
    <!DOCTYPE oracle-descriptor PUBLIC "-//Oracle Corporation.//DTD Oracle 1.1//EN" "oracle-ejb-jar.dtd">
    <oracle-descriptor>
    <mappings>
    <ejb-mapping>
    <ejb-name>GPSEntry</ejb-name>
    <jndi-name>test/gpsentry</jndi-name>
    </ejb-mapping>
    </mappings>
    <persistence-provider>
    <description> specifies a type of persistence manager </description>
    <persistence-name>psi-ri</persistence-name>
    <persistence-deployer>oracle.aurora.ejb.persistence.ocmp.OcmpEntityDeployer</persistence-deployer>
    </persistence-provider>
    <persistence-descriptor>
    <description> This specifies a particular type of persistence manager to be used for a bean. param is where you would put bean specific persistence info in the format of params. The deployment process just passes what's in the param to the persistence deployer. For the baby persistence, we do parse the persistence-mapping but for other persistence backend we don't do anything with the params </description>
    <ejb-name>customerbean</ejb-name>
    <persistence-name>psi-ri</persistence-name>
    <psi-ri>
    <schema>AVLMIS</schema>
    <table>gps_hist</table>
    <attr-mapping>
    <field-name>gpsDateOfFix</field-name>
    <column-name>gps_date_of_fix</column-name>
    </attr-mapping>
    <attr-mapping>
    <field-name>gpsTimeOfFix</field-name>
    <column-name>gps_time_of_fix</column-name>
    </attr-mapping>
    <attr-mapping>
    <field-name>ISSI</field-name>
    <column-name>issi</column-name>
    </attr-mapping>
    <attr-mapping>
    <field-name>gpsCondition</field-name>
    <column-name>gps_condition</column-name>
    </attr-mapping>
    <attr-mapping>
    <field-name>gpsLatitude</field-name>
    <column-name>gps_latitude</column-name>
    </attr-mapping>
    <attr-mapping>
    <field-name>gpsLongitude</field-name>
    <column-name>gps_longitude</column-name>
    </attr-mapping>
    <attr-mapping>
    <field-name>gpsSpeedKnt</field-name>
    <column-name>gps_speed_knt</column-name>
    </attr-mapping>
    </psi-ri>
    </persistence-descriptor>
    </oracle-descriptor>
    Thanks in advance.

    Hi Nikos,
    I obviously don't know what your entire situation is, but you may not
    be aware that Oracle's DBMS embedded EJB container does not work well,
    and as a result, Oracle decided to replace it with an external EJB
    container which is part of a product called "Oracle Containers for
    J2EE" (otherwise known as "OC4J"). The "other" forum (the J2EE forum)
    deals mainly with OC4J.
    As far as I know, Oracle recommends doing your EJB related work with
    OC4J and not with the embedded EJB container.
    Good Luck,
    Avi. That's correct
    Java code, implementing data bound logic, can still run in the database as Java stored procedures/packages/functions/triggers
    while J2EE componentsdeployed in middle-tier implement business logic. Java in database enable the database to be an active participant to your deployment platform
    in 9iDB R2 you will even be able to call-out Web client (using HTTP Client), EJB client (using oc4jclient.jar) or Web Service client
    (using SOAP libraries)
    Kuassi

  • EJB Entity beans ,JDBC Stored procedures

    Hi ,
    I am new to EJB and i have some general questions
    ---Every table in an existing database is an entity bean for my application?
    --- how do i define the queries in the entity bean ? (With PreparedStatement ?)
    ---The persistent fields,the ejbmethods,constructors, the table relationships, the prepared statements and stored procedures, are defined in the entity beans ?
    --- how do i define the primary Keys in an Entity Bean !!! I will use EJB 2.1 and BMP
    thanks in advance ...

    Sandeep...
    I have dblinks going all over the place. What you are talking about is a clustered or distributed database. That is the future (or present ) of large databases. My code is set up because an 'architecture' is not yet available in the database itself to support the concepts I've posted to Steve in other threads.
    I fully believe that we'll eventually have BC4J ( or something like it ) directly in the database. I fully believe that the database will load balance these across a cluster of databases, within the database structure itself. For example... there is NOTHING to stop the JVM from deciding that it needs to load balance and submit the thread to a remote machine for processing... independent of creating a "middle tier" outside the database.
    I believed that client-server model was flawed for most (not all) applications in the 80's. Looking at the "application tier" model I have the same feeling that we're creating an overly complex scheme at the wrong layer... just pushed back one stage so that we have to rewrite everything...
    If you go back to the megalithic server design ( or cluster of servers ) with a thin thin front end... just why is the middle tier needed under the scenario I've outlined?
    As such, stored procedures/triggers be they in java or pl/sql seems best bet to me... seeing's how a call spec to java or a pl/sql wrapper is transparent to the caller using jdbc or any other future technology.
    grin Way outside the scope of the universe today... I see it as inevitable.
    null

  • EJB Entity Beans

    "Entity Beans are suitable for read/write database access when transaction control
    is important. Container managed Entity beans should be suitable for simple entity
    relationships and offer much easier maintenance and development."
    Tell me why or why not you agree with the above statement.
    This is one of the most talked about issues, and I like to see this group's view
    point, regardless of what Sun says in their blueprint.
    On a unrelated note, i like to see what you think about this:
    What are the benefits and disadvantages of using Inner Classes?

    I agree. How are you gonna find the marks without primary key? Sequential seek??
    What you should do is having student_id as primary key of the marks table and create a 1-* relationship between them by student_id.
    Cheers.

  • To use Entity Bean or Oracle stored Package?

    Currently, in my project, Weblogic8.1 and Oracle is used, but lots of business logic is implemented using Oracle stored Packages, many of these packages have a package level readonly lookup table(like index-by table or nested table), which is populated with data from database, once the package is called, and is accessed very often in subsequent calls of stored procedures.
    Since, in Weblogic server, a connection pool is maintained, and those package level lookup tables would be stored as session data in oracle PGA, I'm afraid this might cause oracle database server to be overloaded.
    to fully take advantage of middleware cache service that weblogic provide, should I move those business logic out of oracle and implement them using like read only entity bean?
    any help appreciated!

    Its very hard to say without knowing the usage patterns of the data. It sounds like you have a lot of read-only entities. These could be spread around a WLS cluster, therefore there is more scalability and performance with this option. However, I would not neccessarily rewrite business logic from SP into EJB just for middle-tier caching.
    If its a DB intensive app with lots of SQL, then if the calls are within SP's, there is only 1 call from WLS and the DBA ought o be able to tune the DB usin read-ahead and other DBA semantics. If there is locality of reference in the data, again, DB can use read-ahead better than WLS, although RO cache in middle is more scalable than DBMS.
    I wouldnt rewrite business logic from SP to EJB/Entity beans to take advantage of cache, especially if there is no locality of read-only reference to data. Oracle could do this better in my opinion, especially if SP's already exist
    Need for information on the usage patterns of the data - how is it CRUD'd.
    I would use-case the steel threads and put them under test load to see if the SP's really are an issue, since this is an architecture decision. What state is the project at? Live/Dev? Inception?

  • How to create Entity Bean (CMP) using JDeveloper & Weblogic

    Hi,
    Using : JDeveloper9i (9.0.2.829)
    When i am inside the EJB Wizard (Step 1 of 3), the input field 'CMP Provider' shows only Oracle9iAS CMP Provider.
    How should i make my entity take 'Weblogic' as CMP provider for my beans using JDeveloper. I have my tables in Oracle personal db. I was able to succesfuly add a Weblogic/Db connection under respective connections node.
    Should i need to do something more so that i am given an option of choosing Weblogic as CMP provider.
    thanks for the advance help
    regds
    srikanth

    Currently there is no specific option for WebLogic CMP provider.
    You need to manually add the WebLogic CMP deployment descriptor to the project containing
    EJB Entity beans and deploy to WebLogic.
    raghu
    JDev Team

  • BC4J DAOs vs. Local Entity Beans

    We are beginning a brand new project and trying to evaluate the costs/benefits of using BC4J entity objects versus local entity beans for our persistence needs.
    I've read the "Simplifying J2EE and EJB Development with BC4J" white paper including the "How Does EJB 2.0 Change the Picture?" section, but that seems to have been written at a time when EJB 2.0 support was a rarity.
    I'd like to get some feedback from people who have had experience with both. We are basically starting this application from scratch, although we have relational tables from our legacy C++ application that will serve as the basis for the Java object model. So what would we gain/lose by using entity objects?
    I must admit, I'm leaning toward using entity beans over a vendor-specific persistence framework, but if there are compelling reasons to choose entity objects (besides those mentioned in the white paper), I'd like to hear them. Please speak slowly, as I'm new to BC4J. :)
    Thanks for your time.

    I've read the "Simplifying J2EE and EJB Development with BC4J" white paper including the "How Does EJB 2.0 Change the Picture?" section, but that seems to have been written at a time when EJB 2.0 support was a rarity.IMO there's no change.
    What Sun doesn't tell you in the specs, but is much talked about on theserverside.com and in most
    anti-patterns threads, and in the up coming book J2EE Anti-Patterns; EJB Entities are basically
    broke with no solution. Reason: EjbStore() can throw an exception due to DB constraint violation
    after the business method returns. This drives the scenario where all business integrity is
    forced up into the middle tiers (EJB and business mediator tiers). etc etc ... EJB Entities are
    useful for the 5% to 1% of a business model and application that is transactional IMO.
    I.E. 95%++ of most apps/web sites are read only. Why use a heavy and expensive transactional
    component for reading rows from a DB to be displayed on an Inventory screen? The only reason
    to do this is if you have stock in Sun and your appserver vendor or want your project to last
    forever or get canceled. -- Seriously, do your home work, using Entities as your persistance
    tier mediator, for the 95% of your project that's read only, and for reports which involve
    joins, select criteria etc etc will be a serious problem to just code and even bigger problem
    to be responsive and scalable.
    Do this experiment: implement a report that joins several tables, selects on where criteria,
    orders by some attribute in EJB Entity bean technology. Seriously try to code this solution.
    Hint: spray water on your appserver box since it'll almost explode. :)
    Then try: do the same report in SQL. One SQL statement usually will do it and it's all in the
    DB. The data returned to the middle tier is ready for JSP formating.
    Try another EJB experiment: implement a finder based on criteria that returns a Collection.
    Do the same in SQL: time the perf difference.
    Hint: Maybe you're getting the picture, that EJB Entity 2.0 --> 10.0 what-ever, never wrote into
    the specs any means for joins, or high perf finders based on criteria.
    My opinion and experience: EJB Entity is good for one portion of a project if that; the single
    part that's transactional (usually the shopping cart or similar). All other data access needs
    to be through a DAO tier that's SQL based. With BC4J you get transactional support too, so
    why bother with EJB, except to be wrapped by SLSB's for remotability from the client.
    I'd like to get some feedback from people who have had experience with both. We are basically starting this application from scratch, although we have relational tables from our legacy C++ application that will serve as the basis for the Java object model. So what would we gain/lose by using entity objects? I'm at the end of phase one of a medium scale BC4J project which was initiated after scrapping
    a Sun Blueprint J2EE 1.2 architecture for the above reasons, plus the unmentioned time to market
    issue. We found hand coding the Sun architecture to be 400% slower, if you don't hit any of the
    above mentioned bumps in the road. We never got to reports, which would have been imposible without
    custom DAOs.
    I must admit, I'm leaning toward using entity beans over a vendor-specific persistence framework, but if there are compelling reasons to choose entity objects (besides those mentioned in the white paper), I'd like to hear them. Please speak slowly, as I'm new to BC4J. :)You're not the first to ask this question nor the last. Sun's happy talk in the face of their
    king has great cloths sell job to fend off .net will take more than just J2EE Anti-patterns books
    to displell. Try the reports and finders experiements in EJB 2.0. You'll no doubt learn alot
    and read more news group posts in the process.
    Heck, you might even discover that 903 oc4j's CMR and EQL can instantiate 1000's of Entity beans,
    JNDI entries, return a Collection of handles, your client get the ValueObjects and build a report
    in less than a minute and 100's of customers can do this simultanteously. __NOT__ :)
    Cheers,
    curt

  • Bean Managed Entity Beans(EJB) using Tangosol.

    I am trying to use Bean Managed Entity Beans using Tangosol Coherence.
    The entity bean is currently configured in the weblogic-ejb-jar.xml with:
    <max-beans-in-cache>200</max-beans-in-cache>
    In the public void ejbLoad() method, I am calling the Tangosol Cache to load the entity bean.
    If we have have more that 200 request coming at the same time, we get an OutOfMemoryError exception.
    Is there anyway to overcome this limitation by somehow having the ejb cache to use the tangosol cache?
    Thanks for any help in advance.
    Krishan

    So far, it's not immediately obvious to us what the exact problem is that you are seeing. It sounds like the VM would be using at least 200MB just for the application server's own internal cache, for example, and that you are also using Coherence within the application server to provide additional caching.
    If possible, we should set up a phone call with you and your team, and we could get an engineer from our end to walk through your specific use case with you, so that we could understand what the exact technical challenge(s) is(are) in this particular application.
    Peace.
    p.s. You can email [email protected] directly to schedule a call.

  • Error while using sybase trigger with the CMP entity bean,ejb version 2.1

    Hi All,
    I am using ejb version 2.1 and using entity bean (Transaction required) ,i am trying to update data in sybase(ver 12.3) database table
    I am using session bean(Transaction required) to update the multiple entity beans in a while loop.It is working fine .But when i am trying to run it with the trigger which updates multiple tables in different sybase databases on update of each entity.Then it throws NoSuchEntityException and it rollback the whole transaction.
    My trigger has only few simple update statements and the trigger runs fine without my CMP entity bean.is the CMP does not support the update triggers in sybase or is it the problem with the transaction.
    Please help
    Thanks
    Anshu

    If you can have a look at a cmp example in the samples that ship with the server. My guess is that the weblogic-ejb-jar.xml file is missing the <persistence-use> element which for 810 would look like:
    <persistence>
    <persistence-use>
    <type-identifier>WebLogic_CMP_RDBMS</type-identifier>
    <type-version>7.0</type-version>
    <type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
    </persistence-use>
    </persistence>
    I seem to recall that the elements might be slightly different in structure for the wls700 version of the DTD, so please check that (I cannot, I'm at home and don't have everything here).
    Give that a try and see if it doesn't solve your compilation failure.
    Also, the compilation should not be throwing a null pointer exception in a case like that, I consider that to be a bug.
    -thorick

  • EJB 3.0 entity beans and WebDynpro models

    Hi all,
    first off all my setup:
    WebDynpro Development Component: dcA
    EJB Module Development Component: dcB
    i wan't to create Entity Beans in dcB an use it for my model in dcA.
    My questions:
    1. Why does the "New Wizard" only offer EJB 3.0 Session and Message Beans an no Entity Beans? What is the correct way for creating Entity Beans in DevStudio?
    2. Is ist right that i have to define a public Part containing the Entity Bean to make it visible to dcA?
    Regards,
       Christian

    Hi,
    I'm experiencing same problems, is this a bug or an feature?

Maybe you are looking for

  • How to cancel an order with service item - Reg

    Hi, We have invoiced an order for one service item later we have cancelled the invoice and order status has become as open. We have to cancel that order without deleting it. We rejected the line item despite it is showing as open order due for billin

  • How do I use a gift card to buy songs?

    how do I use a gift card to bye songs?

  • Need a hard drive please

    I lost my hard drive out of my HP model #2ua531obnk. I used my installation cd but it always ask for b57xp32.sys. I can not connect to internet and it's driving me crazy. it said files needed: the file b57xp32.sys on broadcom NetXtreme installation m

  • Attach a document in the Goods Reception

    Hi experts! Do you know if it possible to attach a document in the goods reception (MIGO)? I have the version 6.0 of SAP and I don't see any possible button to make an attachment (as in the purchase order Me21n). Thank you in advance

  • PI 71. System copy

    I am copying my PI Production system back to my Integration test system. I have read the System copy guide(s) and concermed that I may select wrong method. I am going to copy ABAP via  DB Oracle tools. But the java side we are not sure how to proceed