Query about reentrant in ejb-jar.xml file(in case of entity Bean)

Hi all friends,
I am new to EJB I couldn't understand in ejb-jar.xml file in case Entity Bean[<reentrant>False</reentrant>
&<reentrant>true</reentrant>]what is the function of this tag and what is the effect of value true and false of this tag.Can any one please explain it.
Regards
Bikash

Hi,
Re-entrant tag is used in the ejb-jar.xml to notify the container if you would want your bean to call itself through another bean.
Most of the time you would want it to be set to FALSE because you would have to consider the multi-threading issues if you set it TRUE.
Regards
Meka Toka

Similar Messages

  • No table name specified in ejb-jar.xml file

    Hi, I have an entity bean defined as follows:
    <enterprise-beans>
    <entity>
    <display-name>SponsorEJB</display-name>
    <ejb-name>SponsorEJB</ejb-name>
    <home>com.ultradns.j2ee.components.sponsor.ejb.SponsorHome</home>
    <remote>com.ultradns.j2ee.components.sponsor.ejb.Sponsor</remote>
    <ejb-class>com.ultradns.j2ee.components.sponsor.ejb.SponsorEJB</ejb-class>
    <persistence-type>Container</persistence-type>
    <prim-key-class>java.lang.String</prim-key-class>
    <reentrant>False</reentrant>
         <resource-ref>
              <res-ref-name>jdbc/jdbc/OracleDS</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>Container</res-auth>
         </resource-ref>     
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>sponsor</abstract-schema-name>
    <cmp-field>
    <primkey-field>guid</primkey-field>
         <query>
              <query-method>
                   <method-name>findAll</method-name>
                   <method-params></method-params>
              </query-method>
              <ejb-ql>
                   <![CDATA[ SELECT OBJECT(a) FROM sponsor AS a]]>
              </ejb-ql>
         </query>
    </entity>
    </enterprise-beans>
    In the database, I want this entity bean refers to a table named "sponsor", but I could not specify the relation in the ejb-jar.xml file. So when I deployed this bean, it auto created a table called "SponsorEJB". Where is this name come from, from display-name or ejb-name field?
    Basically, how can I specify a bean "SponsorEJB" referes to a table "sponsor"?
    Thanks,

    First thing, to stop OC4J auto-creating tables, edit the file %J2EE_HOME%/config/application.xml. Change the first orion-application tag so that one attribute says autocreate-tables="false"
    The ejb-jar.xml file describes your EJB's to the container. It is not supposed to describe which table each entity bean maps too, as this is an implementation specific property, so would not be portable between databases. Therefore you have to configure the container to point an entity to a table. Sun uses the sun-j2ee-ri.xml file to do this, and this has to be included in the deployment.
    OC4J however uses the file 'orion-ejb-jar.xml', and will generate this for you. Since you have already deployed your application, this will have already been generated. Go to the directory %J2EE_HOME%/application-deployments. There will be a directory corresponding to your application name. In there is a directory corresponding to your ejb module name, and in there is the 'orion-ejb-jar.xml' file. If you open this file, you will see the entity deployment tags, an example of one is below. Edit the tag so that the table attribute points to the table in your database (note that there is a data-source attribute as well, so make sure that this points to the correct schema). The example below points the EJB Emp to the table EMP:
    <entity-deployment name="Emp" max-instances="10" location="Emp" wrapper="EmpHome_EntityHomeWrapper3" table="EMP" data-source="jdbc/rob9iDS" locking-mode="optimistic" update-changed-fields-only="true" min-instances-per-pk="0" max-instances-per-pk="50" disable-wrapper-cache="true">
    Hope this helps,
    Rob

  • Oc4j generated finders in orion-ejb-jar.xml file causing errors

    Any information or assistance would be greatly appreciated.
    I have encountered a problem with the generated orion-ejb-jar.xml file.
    It looks like the additional finder methods that are generated when the application
    is deployed are incorrect from the 9.0.3 version to the new 10.1.2.0.2 version.
    The original content of orion-ejb-jar.xml before additional finder syntax is added:
    <finder-method query=
    "NO_SYS_USER_OBJECT_HISTORY.USER_ID=UPPER($1) and
      NO_SYS_USER_OBJECT_HISTORY.AUTOID NOT IN(
      SELECT H1.AUTOID                             
      FROM   NO_SYS_USER_OBJECT_HISTORY H1,                                
             (SELECT AUTOID                                     
              FROM   NO_SYS_USER_OBJECT_HISTORY                                    
              WHERE  USER_ID=UPPER($1)                                    
              ORDER BY DATE_TIME DESC) H2                            
      WHERE  ROWNUM &lt;= $2
        AND  H1.AUTOID = H2.AUTOID)">
    <method>
      <ejb-name>NoUserHistoryEntry</ejb-name>
      <method-name>findOldest</method-name>
      <method-params>
       <method-param>java.lang.String</method-param>
       <method-param>java.lang.Integer</method-param>
      </method-params>
    </method>
    </finder-method>
    After deploying in 9.0.3 the following information is added to the orion-ejb-jar.xml file:
    <finder-method query=
    "NO_SYS_USER_OBJECT_HISTORY.USER_ID=UPPER($1) and
      NO_SYS_USER_OBJECT_HISTORY.AUTOID NOT IN(
      SELECT H1.AUTOID
      FROM   NO_SYS_USER_OBJECT_HISTORY H1,
             (SELECT AUTOID                                     
              FROM   NO_SYS_USER_OBJECT_HISTORY
              WHERE  USER_ID=$1   
              ORDER BY DATE_TIME DESC) H2
      WHERE  ROWNUM &lt;= $2
        AND  H1.AUTOID = H2.AUTOID)">
    <!-- Generated SQL:
      "select NO_SYS_USER_OBJECT_HISTORY.autoid
       from   NO_SYS_USER_OBJECT_HISTORY
       where  NO_SYS_USER_OBJECT_HISTORY.USER_ID=UPPER(?)
         and  NO_SYS_USER_OBJECT_HISTORY.AUTOID NOT IN(
              SELECT H1.AUTOID                             
              FROM   NO_SYS_USER_OBJECT_HISTORY H1,
                     (SELECT AUTOID
                      FROM   NO_SYS_USER_OBJECT_HISTORY
                      WHERE  USER_ID=?
                      ORDER BY DATE_TIME DESC) H2
              WHERE ROWNUM <= ?
                AND H1.AUTOID = H2.AUTOID) -->
    <method>
      <ejb-name>NoUserHistoryEntry</ejb-name>
      <method-name>findOldest</method-name>
      <method-params>
       <method-param>java.lang.String</method-param>
       <method-param>java.lang.Integer</method-param>
      </method-params>
    </method>
    </finder-method>
    After deploying in 10.1.2.0.2 the following information is added to the
    orion-ejb-jar.xml file:
    <finder-method query=
    "NO_SYS_USER_OBJECT_HISTORY.USER_ID=UPPER($1) and
      NO_SYS_USER_OBJECT_HISTORY.AUTOID NOT IN(
      SELECT H1.AUTOID
      FROM   NO_SYS_USER_OBJECT_HISTORY H1,
             (SELECT AUTOID
              FROM   NO_SYS_USER_OBJECT_HISTORY
              WHERE  USER_ID=UPPER($1)
              ORDER BY DATE_TIME DESC) H2
      WHERE  ROWNUM &lt;= $2
        AND  H1.AUTOID = H2.AUTOID)">
    <!-- Generated SQL (pk only):
      "select H1.autoid
       from   NO_SYS_USER_OBJECT_HISTORY
       where  NO_SYS_USER_OBJECT_HISTORY.USER_ID=UPPER(?)
         and  NO_SYS_USER_OBJECT_HISTORY.AUTOID NOT IN(
              SELECT H1.AUTOID
              FROM   NO_SYS_USER_OBJECT_HISTORY H1,
                     (SELECT AUTOID
                      FROM   NO_SYS_USER_OBJECT_HISTORY
                      WHERE  USER_ID=UPPER(?)
                      ORDER BY DATE_TIME DESC) H2
              WHERE  ROWNUM <= ?
                AND  H1.AUTOID = H2.AUTOID) -->
    <!-- Generated SQL (all columns):
      "select H1.autoid, H1.USER_ID, H1.OBJECT_CLASS_ID,
                 H1.DATE_TIME, H1.COMMENT_TEXT, H1.ACTION,
                 H1.ACTION_DATA, H1.SITE_DESCRIPTION
       from   NO_SYS_USER_OBJECT_HISTORY
       where  NO_SYS_USER_OBJECT_HISTORY.USER_ID=UPPER(?)
         and  NO_SYS_USER_OBJECT_HISTORY.AUTOID NOT IN(
              SELECT H1.AUTOID
              FROM   NO_SYS_USER_OBJECT_HISTORY H1,
                     (SELECT AUTOID
                      FROM   NO_SYS_USER_OBJECT_HISTORY
                      WHERE  USER_ID=UPPER(?)
                      ORDER BY DATE_TIME DESC) H2
              WHERE  ROWNUM <= ?
                AND  H1.AUTOID = H2.AUTOID) -->
    <method>
      <ejb-name>NoUserHistoryEntry</ejb-name>
      <method-name>findOldest</method-name>
      <method-params>
       <method-param>java.lang.String</method-param>
       <method-param>java.lang.Integer</method-param>
      </method-params>
    </method>
    </finder-method>
    The problem with the 10.1.2.0.2 generated finders is that it is prepending H1 when
    it should be NO_SYS_USER_OBJECT_HISTORY which results in the following error:
    Exception in thread "main" com.cdtelecom.vygroe.configuration.ConfigurationException:
    com.evermind.server.rmi.OrionRemoteException:
    Transaction was rolled back: Database error: java.sql.SQLException:
    ORA-00904: "H1"."SITE_DESCRIPTION": invalid identifier
    ; nested exception is:
            java.sql.SQLException: ORA-00904: "H1"."SITE_DESCRIPTION": invalid identifier
            at com.cdtelecom.vygroe.configuration.ConfigurationSession.internalRecordAction(ConfigurationSession.java:869)
            at com.cdtelecom.vygroe.configuration.ConfigurationSession.recordAction(ConfigurationSession.java:401)
            at com.cdtelecom.vygroe.configuration.Configuration.recordActionSaveOrder(Configuration.java:886)
            at com.cdtelecom.vygroe.configuration.Configuration.getOrder(Configuration.java:239)
            at test10g.main(test10g.java:47)
    I tried to manually edit the file but when I shutdown and restart oc4j it regenerates the file again.

    Jingzhi -- If you define the correct EJB-QL you should get the correct SQL generated for the finder. If that's not happening can you verify it against the OC4J v903 production release and see if it is still happening. I don't know if this helps with the JDeveloper problem specifically but if you don't need to create your own finders then that I hope should help.
    Thanks -- Jeff

  • How to use multiple ejb-jar.xml files

    Hello -
    If the project you work on has a lot of beans that you need to configure them in one ejb-jar.xml file. Then ejb-jar.xml file will be getting bigger and bigger. I am wondering if there is any way to divide the ejb-jar.xml file into multiple sub ejb-jar.xml files and then combin them together when deploy it. Same question question for the vendor ejb-jar.xml like weblogic-ejb-jar.xml.
    Thanks!
    Ben

    HI Ben,
    No, there is no notion of combining ejb-jar.xmls at deployment time in Java EE. There is no
    set limit on the number of ejb components within an ejb-jar module either.
    --ken                                                                                                                                                                                                                                                                                                                                                                                       

  • Stateless session Bean - xml and ejb-jar.xml file ???

    Dear Experts,
    Stateless-session bean
    For Creating an ear file
    we need ejb-jar.xml and weblogic-ejb-jar.xml files
    Is these files are already available
    or we have to type these files ??
    Advance Thanks
    Rengaraj.R

    My best advice: surrender to use an IDE.
    You wonder sometimes at how much productivity (read as 'time') could be wasted by doing something that could be done automatically. For a learning experience or a once only exercise is fine but as a routine thing, not worth it.
    Cheers

  • How to write multiple ejb-jar.xml file in an ejb module

    i am developing an ejb project. I hav a number of entity beans and session beans and their mapping in ejb-jar.xml. As the number of beans increases the entry of beans and mapping is also increasing. So i want to ask u that is there any mechanism so that i can divide the ejb-jar.xml file so that it will be easy to maintain it.

    ejb-jar is the smallest composable unit for related EJB components. Your best bet is to create multiple ejb-jars and package them within the same enterprise application (.ear).

  • Come error at doctype statement in ejb.jar.xml file

    hello,
    I use eclipse 3.1RC1 & lomboz emf-gef 3.1RC1 at linux os. when I create ejb project a error is created at line "doctype" in ejb-jar.xml file & it gives a error mess. java.sun.com can't be registrated

    try :
    p.stepid and p.stepversion are correct insert into &lt;cmp-field&gt; ?
    and Processparameter is the correct name of &lt;abstract-schema-name&gt;?
    is your &lt;ejb-ql&gt; insert in the right &lt;entity&gt; ?
    findByProcessStep(Integer, Integer) is the unique name in your ejb-jar? and in the (LocalHome ||RemoteHome)

  • Sun-ejb-jar.xml file is increased after deploying

    When I deploy my application the size of sun-ejb-jar.xml file is increased from 140K to 6.5M!!! When I review a new file I have found that all finder methods from all beans were included into the each entity beans. Is it correct?
    Thank you,
    Sergey

    up

  • Global env-entry JNDI variables space for same ejb-jar.xml file

    [Software]
    jboss4.0.5
    jdk 1.5
    [Problem]
    Is there any global <env-entry> tag for a Single EJB Module. Is there any way by which the JNDI variable can be accessed by all the modules except by binding the variables in the JNDI explixity in the code
    Thanks in advance
    CSJakharia

    Unfortunately not. The EJB specification has always scoped the component environment
    (java:comp/env) as a private environment for each EJB. The advantage is you can
    assign entries within each bean easily without worrying about clashing with names selected
    for other beans in the ejb-jar. That eases the process of assembling beans developed
    separately into one ejb-jar since there is no possibility that their component environments
    will clash.
    However, the downside is just what you're pointing out, which is that in many cases
    developers prefer to define a single dependency that is shared among all the
    beans in the ejb module. That is the behavior of the component environment in a
    web application.
    We'll be looking into ways to simplify this for ejbs in a future revision of the specification.
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Local Interface in weblogic-ejb-jar.xml file

    I used Local Interface in WLS 7.0, and specifies the jndi-name as
    <weblogic-enterprise-bean>
    <ejb-name>MailboxService</ejb-name>
    <jndi-name>ejb/MailboxServiceHome</jndi-name>
    </weblogic-enterprise-bean>
    <weblogic-enterprise-bean>
    <ejb-name>MailboxServiceLocal</ejb-name>
    <jndi-name>ejb/MailboxServiceLocalHome</jndi-name>
    </weblogic-enterprise-bean>
    When I migrate to WLS 8.1, I keep receiving warning messages like:
    "[java] WARNING: Warning from ejbc: <jndi-name> must be defined for a bean
    with remo
    te interface. 'RecognitionServiceLocal(Jar: C:\ebdev\dev\make\eb-ejb\..\..\dist\eb-ejb.j
    ar)' does not have a remote interface."
    What is wrong here?
    Thanks in advance.

    jndi-name is specified for a remote interface.
    local-jndi-name is specified for a local interface.
    thanks,
    Deepak Vohra
    "Andy yang" <[email protected]> wrote:
    >
    I used Local Interface in WLS 7.0, and specifies the jndi-name as
    <weblogic-enterprise-bean>
    <ejb-name>MailboxService</ejb-name>
    <jndi-name>ejb/MailboxServiceHome</jndi-name>
    </weblogic-enterprise-bean>
    <weblogic-enterprise-bean>
    <ejb-name>MailboxServiceLocal</ejb-name>
    <jndi-name>ejb/MailboxServiceLocalHome</jndi-name>
    </weblogic-enterprise-bean>
    When I migrate to WLS 8.1, I keep receiving warning messages like:
    "[java] WARNING: Warning from ejbc: <jndi-name> must be defined
    for a bean
    with remo
    te interface. 'RecognitionServiceLocal(Jar: C:\ebdev\dev\make\eb-ejb\..\..\dist\eb-ejb.j
    ar)' does not have a remote interface."
    What is wrong here?
    Thanks in advance.

  • More information about the ejb-ref element of ejb-jar.xml

    Hello,
    I am currently studying ejbs and I came across the ejb-ref element of the ejb-jar.xml file. I am in reference to O'Reilly Entreprise JavaBeans book. The book says that, thanks to the ejb-ref element it is possible to access one ejb from another ejb with the following client code:
    InitialContext jndiContext = new InitialContext();
    Object ref = jndiContext.lookup("java:comp/env/ejb/ProcessPaymentHomeRemote");
    ProcessPaymentHomeRemote home = (ProcessPaymentHomeRemote) PortableRemoteObject.narrow(ref, ProcessPaymentHomeRemote.class);I thought one could invoke the above client code without the ejb-ref element being present in the ejb-jar.xml... I am right or wrong?
    Then why the need for the ejb-ref element? Can anyone give me a concrete example of usage of the ejb-ref element where the ejb-ref element really is useful? What are the advantages of using the ejb-ref element?
    Thanks in advance,
    Julien Martin.

    Hi Julien,
    The main reason is portability. It's true that in many J2EE implementations it is possible to access an EJB's Home object without going through the component context (java:comp/env), but all such approaches are NOT portable. In the J2EE programming model, all resource access is made via the private component namespace. Using this level of indirection allows the bean developer to code the application without having to know which physical resource will be used at runtime. Each J2EE implementation can use a different scheme to identity physical resources, so by sticking to logical references in your code, you guarantee portability. Finally, you have the advantage that you can change which physical resource is mapped at deployment time without having to change your code.
    So, the bottom line is, whenever you have any J2EE component (ejb, servlet, jsp, Application Client) that looks up an ejb, data source, queue, connection factory, etc., always use the environment reference type that J2EE defines for it and look it up via java:comp/env.
    --ken
    Kenneth Saks
    J2EE SDK Team
    SUN Microsystems

  • How to prevent OC4J generating DD file orion-ejb-jar.xml?

    I am doing a migration from JBoss to OC4J. I already have the ejb-jar.xml file which is working under JBoss. The xDoclet generate all the parts except the CMR parts so I deployed the ear file without orion-ejb-jar.xml and I got generated version from OC4J. I merge the xDoclet version with the OC4J generated version by adding the CMR parts into my xDoclet version and modify the table name and persistance fields name generated by OC4J. I don't want to mapping all the relationships so I use:
    <ejb-relation >
    <ejb-relation-name>AppReport-User</ejb-relation-name>
    <ejb-relationship-role >
    <ejb-relationship-role-name>the-User-of</ejb-relationship-role-name>
    <multiplicity>Many</multiplicity>
    <relationship-role-source >
    <ejb-name>AppReports</ejb-name>
    </relationship-role-source>
    <cmr-field >
    <cmr-field-name>user</cmr-field-name>
    </cmr-field>
    </ejb-relationship-role>
    <ejb-relationship-role >
    <ejb-relationship-role-name>the-appreports-of</ejb-relationship-role-name>
    <multiplicity>One</multiplicity>
    <relationship-role-source >
    <ejb-name>Users</ejb-name>
    </relationship-role-source>
    </ejb-relationship-role>
    </ejb-relation>
    Here I just want unidirectional EJB AppReports refewrence to Users but I don't want Users EJB reference back to AppReports. The OC4j will generate DD file orion-ejb-jar.xml again with all the missing parts combined with my merged version orion-ejb-jar.xml and put it under my deploment directory. It seems it voilate the ejb-jar.xml since I don't have <cmr-field-name> defined for AppReports. My question is how I can control this way and let OC4J not generate orion-ejb-jar.xml again.

    You need to have the orion-ejb-jar.xml in your app before you initially deploy it, otherwise OC4J will automatically create it for you. I would take to copy of the orion-ejb-jar.xml that is a result of the combination of OC4J and XDoclet generated and add this to my code base as the de-facto orion deployment descriptor to be included in all app deployments. On deploying the app, OC4J will see that a orion-ejb-jar file already exists and will not auto create one. Hope this makes sense!

  • ejb-local-ref where to put this tag in ejb-jar.xml ??

    I have an ejb-jar.xml that looks like this. I have had no problem with remote interfaces. Now I want the bean to have a local interface too.
    Just let me know where the tag I have mentioned for the <ejb-local-ref> has to be put into.
    When I compile this file it throws me an error which i have shown below the output of the ejb-jar.xml file
    <ejb-jar>
    <enterprise-beans>
    <entity>
    <ejb-name>IDMaster</ejb-name>
    <home>maxateev.mondial.brg.idmaster.IDMasterHome</home>
    <remote>maxateev.mondial.brg.idmaster.IDMaster</remote>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    <ejb-class>maxateev.mondial.brg.idmaster.IDMasterEJB</ejb-class>
    <persistence-type>Container</persistence-type>
    <ejb-local-ref>
    <ejb-ref-name>ejb/IDMasterLocalHome</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    </ejb-local-ref>
    <prim-key-class>java.lang.String</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>IDMaster</abstract-schema-name>
    <cmp-field>
    <field-name>idPrefix</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>idValue</field-name>
    </cmp-field>
    <primkey-field>idPrefix</primkey-field>
    <query>
         <query-method>
              <method-name>findAllIDMasters</method-name>
              <method-params/>
         </query-method>
         <ejb-ql><![CDATA[SELECT OBJECT (f) FROM IDMaster as f]]></ejb-ql>
    </query>
    </entity>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>IDMaster</ejb-name>
         <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    I have also added the following tag in the weblogic-jar.xml
    <local-jndi-name>IDMasterEJB.IDMasterLocalHome</local-jndi-name>
    Just let me know whether I am correct
    On compilation (using ant utility) the error thrown is like this :
    ejbc:
    [java] ERROR: Error parsing 'ejb-jar.xml' line 47: The content of element type "entity" must ma
    tch "(description?,display-name?,small-icon?,large-icon?,ejb-name,home?,remote?,local-home?,local?,e
    jb-class,persistence-type,prim-key-class,reentrant,cmp-version?,abstract-schema-name?,cmp-field*,pri
    mkey-field?,env-entry*,ejb-ref*,ejb-local-ref*,security-role-ref*,security-identity?,resource-ref*,r
    esource-env-ref*,query*)".
    [java] ERROR: ejbc found errors
    [java] Java Result: 1
    Kindly Help !!!
    Thanks n regards
    Sajiv

    This should take care of it
    <ejb-jar>
    <enterprise-beans>
    <entity>
    <ejb-name>IDMaster</ejb-name>
    <home>maxateev.mondial.brg.idmaster.IDMasterHome</home>
    <remote>maxateev.mondial.brg.idmaster.IDMaster</remote>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    <ejb-class>maxateev.mondial.brg.idmaster.IDMasterEJB</ejb-class>
    <persistence-type>Container</persistence-type>
    <ejb-local-ref>
    <ejb-ref-name>ejb/IDMasterLocalHome</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    </ejb-local-ref>
    <prim-key-class>java.lang.String</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>IDMaster</abstract-schema-name>
    <cmp-field>
    <field-name>idPrefix</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>idValue</field-name>
    </cmp-field>
    <primkey-field>idPrefix</primkey-field>
    <ejb-local-ref>
    <ejb-ref-name>ejb/IDMasterLocalHome</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    </ejb-local-ref>
    <query>
    <query-method>
    <method-name>findAllIDMasters</method-name>
    <method-params/>
    </query-method>
    <ejb-ql><![CDATA[SELECT OBJECT (f) FROM IDMaster as f]]></ejb-ql>
    </query>
    </entity>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>IDMaster</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>

  • JDeveloper / OC4J rewriting my orion-ejb-jar.xml

    Hi All.
    Im having a play around with OC4J and CMP entity beans and struts at the moment learning some stuff for a new job, so ive started to write a little test app to get used to things.
    Ive created a CMP entity - CustomerEntityEJB, manually defined the tables etc wrote and built it using JDeveloper 10.
    Ive created all the necessary classes and descriptors in JDeveloper and the bean compiles and deploys fine, however no matter what i do, the table attribute of the <entity-deployment> elemnt is ALWAYS removed from the orion-ejb-jar.xml file before its deployed and i have no idea why.
    Here are some snippets form the xml config files im using....
    ejb-jar.xml :
    <entity>
    <description>Entity Bean ( CMP )</description>
    <display-name>CustomerEntityEJB</display-name>
    <ejb-name>CustomerEntityEJB</ejb-name>
    <local-home>com.gb.ejb.entity.customer.CustomerEntityEJBLocalHome</local-home>
    <local>com.gb.ejb.entity.customer.CustomerEntityEJBLocal</local>
    <ejb-class>com.gb.ejb.entity.customer.CustomerEntityEJBBean</ejb-class>
    <persistence-type>Container</persistence-type>
    <prim-key-class>java.lang.Long</prim-key-class>
    <reentrant>false</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>CustomerEntityEJB</abstract-schema-name>
    <cmp-field>
    <field-name>id</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>title</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>forename</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>surname</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>email</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>password</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>active</field-name>
    </cmp-field>
    <primkey-field>id</primkey-field>
    <query>
    <query-method>
    <method-name>findAll</method-name>
    <method-params/>
    </query-method>
    <ejb-ql>SELECT OBJECT(c) FROM CustomerEntityEJB c</ejb-ql>
    </query>
    </entity>
    orion-ejb-jar.xml as in JDeveloper:
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <orion-ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/orion-ejb-jar-10_0.xsd" schema-major-version="10" schema-minor-version="0">
    <enterprise-beans>
    <persistence-manager name="toplink"/>
    <session-deployment name="CustomerSessionEJB" local-location="CustomerSessionEJB" />
    <entity-deployment name="CustomerEntityEJB" data-source="jdbc/PostgresDS" table="Customer" local-location="CustomerEntityEJB">
    <primkey-mapping>
    <cmp-field-mapping name="id"/>
    </primkey-mapping>
    <cmp-field-mapping name="active"/>
    <cmp-field-mapping name="email"/>
    <cmp-field-mapping name="forename"/>
    <cmp-field-mapping name="id"/>
    <cmp-field-mapping name="password"/>
    <cmp-field-mapping name="surname"/>
    <cmp-field-mapping name="title"/>
    </entity-deployment>
    </enterprise-beans>
    </orion-ejb-jar>
    orion-ejb-jar.xml as viewed in the OC4J enterprise manager.     
    <?xml version="1.0" encoding="utf-8"?>
    <orion-ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/orion-ejb-jar-10_0.xsd" deployment-version="10.1.3.3.0" deployment-time="1151415a0e3" schema-major-version="10" schema-minor-version="0" >
    <enterprise-beans>
    <persistence-manager name="toplink" class="oracle.toplink.internal.ejb.cmp.oc4j.Oc4jPersistenceManager" descriptor="toplink-ejb-jar.xml">
    </persistence-manager>
    <session-deployment name="CustomerSessionEJB" location="CustomerSessionEJB" local-location="CustomerSessionEJB" persistence-filename="CustomerSessionEJB">
    <ejb-ref-mapping name="ejb/local/CustomerEntityEJB" location="TWA-EJB_CustomerEntityEJBLocal" />
    </session-deployment>
    <entity-deployment name="CustomerEntityEJB" location="CustomerEntityEJB" local-location="CustomerEntityEJB" concrete-bean-class="CustomerEntityEJB_ConcreteSubClass3" data-source="jdbc/PostgresDS" local-wrapper="CustomerEntityEJBLocalHome_LocalEntityHomeWrapper5">
    </entity-deployment>
    </enterprise-beans>
    <assembly-descriptor>
    <default-method-access>
    <security-role-mapping name="<default-ejb-caller-role>" impliesAll="true" />
    </default-method-access>
    </assembly-descriptor>
    </orion-ejb-jar>
    As you can see, the orion-ejb-jar.xml that been deployed on the server has had extra attributes defined in it (like concrete-bean-class) which makessense - its adding in the bits i didnt to get th bean to deploy - however the table attribue is just removed, meaning my bean cant find the table - hence my app not working.
    i just dont know how to stop this and would be extremely grateful if someone could give me a clue how to get my bean up and working properly as this is driving me insane.
    Thanks in advance..
    Gareth.

    sorted - the <persistence-manager name="toplink"/> element was automatically generated by JDeveloper and put in my orion-ejb-jar.xml appears to be un necessary and seemed to be breaking eveything - as soon as i removed it, the bean seemed to deploy ok and pick up the table name =]
    as a bit of an aside does anyone know why it was automatically put there in the first place if it breaks things?

  • Assignment of transaction attributes in ejb-jar.xml

    Hi all,
    I'm going through the employee example from the book "Java programming in SAP web application server". I have followed the instrucstions to the letter and have triple checked that i did not miss anything.
    During the part "Defining Transaction Control", when i go to the "Assembly" tab, choose "Container-transaction" and click add; i get the following error message.
    You have to create and reference EJBs first. Afterwards you can choose them here.
    Newly created EJBs are referenced automatically in the ejb-jar.xml, in special cases you might have to reference them manually.
    Below is a copy of the ejb-jar. Both beans are referenced in the file so i don't really understand the error message!
    Thanks for your help.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
         <description>EJB JAR description</description>
         <display-name>EJB JAR</display-name>
         <enterprise-beans>
              <session>
                   <ejb-name>EmployeeServicesBean</ejb-name>
                   <home>com.sap.demo.EmployeeServicesHome</home>
                   <remote>com.sap.demo.EmployeeServices</remote>
                   <local-home>com.sap.demo.EmployeeServicesLocalHome</local-home>
                   <local>com.sap.demo.EmployeeServicesLocal</local>
                   <ejb-class>com.sap.demo.EmployeeServicesBean</ejb-class>
                   <session-type>Stateless</session-type>
                   <transaction-type>Container</transaction-type>
                   <ejb-local-ref>
                        <ejb-ref-name>ejb/Employee</ejb-ref-name>
                        <ejb-ref-type>Entity</ejb-ref-type>
                        <local-home>com.sap.demo.EmployeeLocalHome</local-home>
                        <local>com.sap.demo.EmployeeLocal</local>
                        <ejb-link>EmployeeEjb.jar#EmployeeBean</ejb-link>
                   </ejb-local-ref>
              </session>
              <entity>
                   <ejb-name>EmployeeBean</ejb-name>
                   <home>com.sap.demo.EmployeeHome</home>
                   <remote>com.sap.demo.Employee</remote>
                   <local-home>com.sap.demo.EmployeeLocalHome</local-home>
                   <local>com.sap.demo.EmployeeLocal</local>
                   <ejb-class>com.sap.demo.EmployeeBean</ejb-class>
                   <persistence-type>Container</persistence-type>
                   <prim-key-class>java.lang.Long</prim-key-class>
                   <reentrant>False</reentrant>
                   <cmp-version>2.x</cmp-version>
                   <abstract-schema-name>EmployeeBean</abstract-schema-name>
                   <cmp-field>
                        <field-name>lastname</field-name>
                   </cmp-field>
                   <cmp-field>
                        <field-name>firstname</field-name>
                   </cmp-field>
                   <cmp-field>
                        <field-name>id</field-name>
                   </cmp-field>
                   <cmp-field>
                        <field-name>department</field-name>
                   </cmp-field>
                   <primkey-field>id</primkey-field>
                   <query>
                        <description>Query for getting all employee objects.</description>
                        <query-method>
                             <method-name>findAllEmployees</method-name>
                             <method-params/>
                        </query-method>
                        <ejb-ql>Select object (p) from EmployeeBean p</ejb-ql>
                   </query>
              </entity>
         </enterprise-beans>
         <assembly-descriptor/>
    </ejb-jar>

    I was able to add the transaction attributes manually to the ejb-jar.xml file. below is what the file looks like now for those interested.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
         <description>EJB JAR description</description>
         <display-name>EJB JAR</display-name>
         <enterprise-beans>
              <session>
                   <ejb-name>EmployeeServicesBean</ejb-name>
                   <home>com.sap.demo.EmployeeServicesHome</home>
                   <remote>com.sap.demo.EmployeeServices</remote>
                   <local-home>com.sap.demo.EmployeeServicesLocalHome</local-home>
                   <local>com.sap.demo.EmployeeServicesLocal</local>
                   <ejb-class>com.sap.demo.EmployeeServicesBean</ejb-class>
                   <session-type>Stateless</session-type>
                   <transaction-type>Container</transaction-type>
                   <ejb-local-ref>
                        <ejb-ref-name>ejb/Employee</ejb-ref-name>
                        <ejb-ref-type>Entity</ejb-ref-type>
                        <local-home>com.sap.demo.EmployeeLocalHome</local-home>
                        <local>com.sap.demo.EmployeeLocal</local>
                        <ejb-link>EmployeeEjb.jar#EmployeeBean</ejb-link>
                   </ejb-local-ref>
              </session>
              <entity>
                   <ejb-name>EmployeeBean</ejb-name>
                   <home>com.sap.demo.EmployeeHome</home>
                   <remote>com.sap.demo.Employee</remote>
                   <local-home>com.sap.demo.EmployeeLocalHome</local-home>
                   <local>com.sap.demo.EmployeeLocal</local>
                   <ejb-class>com.sap.demo.EmployeeBean</ejb-class>
                   <persistence-type>Container</persistence-type>
                   <prim-key-class>java.lang.Long</prim-key-class>
                   <reentrant>False</reentrant>
                   <cmp-version>2.x</cmp-version>
                   <abstract-schema-name>EmployeeBean</abstract-schema-name>
                   <cmp-field>
                        <description>
                        </description>
                        <field-name>lastname</field-name>
                   </cmp-field>
                   <cmp-field>
                        <description>
                        </description>
                        <field-name>firstname</field-name>
                   </cmp-field>
                   <cmp-field>
                        <description>
                        </description>
                        <field-name>id</field-name>
                   </cmp-field>
                   <cmp-field>
                        <description>
                        </description>
                        <field-name>department</field-name>
                   </cmp-field>
                   <primkey-field>id</primkey-field>
                   <query>
                        <description>Query to get all employee objects.</description>
                        <query-method>
                             <method-name>findAllEmployees</method-name>
                             <method-params/>
                        </query-method>
                        <ejb-ql>Select object (p) from EmployeeBean p</ejb-ql>
                   </query>
              </entity>
         </enterprise-beans>
         <assembly-descriptor>
              <container-transaction>
                   <description>container-transaction</description>
                   <method>
                        <ejb-name>EmployeeBean</ejb-name>
                        <method-name>*</method-name>
                   </method>
                   <method>
                        <ejb-name>EmployeeServicesBean</ejb-name>
                        <method-name>*</method-name>
                   </method>
                   <trans-attribute>Required</trans-attribute>
              </container-transaction>
         </assembly-descriptor>
    </ejb-jar>
    Thanks

Maybe you are looking for

  • Itunes is grayed out using sync

    When I attempt to Sync my device with iTunes, the screen within iTunes is grayed out.  I cannot select any items from the iPhone.  Please help.

  • LONG column and translate function

    I want to get the default values of columns through all_tab_columns. I have written the query : select a.COLUMN_NAME, translate(a.DATA_DEFAULT,'''',' ') from all_tab_columns a where a.TABLE_NAME like 'T_MPR_MBT' But it gives the following error: ORA-

  • Two Assignments in InCopy's Assign Panel

    Now I'll install the workflow with InDesign CS5 and InCopyCS5 at medium  Newspaper. The problem is: I want that InCopy users (editors) to be  able put a INCX file to other assingment in InCopy's panel assignments Is it Possible? Have two assignments

  • OAS 4.0.8.2 File Upload

    anyone have any luck getting the file upload via pl/sql working with this ver? I got it nailed in 4.0.8.1 but no dice here...

  • ESEUTIL /P recovery time

    My exchange 2010 server lost power before it was able to perform a clean shutdown and while coming back online some of the log files became corrupted. I've tried every safe-recovery option up my sleeve but finally decided to run the eseutil /p comman