Win a copy of Beginning Java 17 Fundamentals: Object-Oriented Programming in Java 17 this week in the Java in General forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • Ron McLeod
  • Liutauras Vilda
  • Jeanne Boyarsky
Sheriffs:
  • Junilu Lacar
  • Rob Spoor
  • Paul Clapham
Saloon Keepers:
  • Tim Holloway
  • Tim Moores
  • Jesse Silverman
  • Stephan van Hulst
  • Carey Brown
Bartenders:
  • Al Hobbs
  • Piet Souris
  • Frits Walraven

Problem with jndi and data source

 
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
When I am trying to deploy my ear file. I am getting the error mentioned below. I have made
a connection pool and 3 data sources at console. Is there a problem with the way I have
defined them. Please do let me know.
Thank You
Ronak Parekh
Connection Pools:
Name : oraclePool
URL : jdbc:weblogic:builder
Driver classname : weblogic.jdbc.oci.Driver
Properties(key=values): servername=ronakserver
user=sempsys
dataSourceName=oraclePool
databaseName=builder
Password : sempsys

Data Sources:
Name : Gangster
JNDI Name: Gangster
Pool Name: oraclePool
Name : Organization
JNDI Name: Organization
Pool Name: oraclePool
Name : Job
JNDI Name: Job
Pool Name: oraclePool
My Error is:
preparing application app54 on ronserver
prepared application app54 on ronserver
activating application app54 on ronserver
Exception caught for task Activate application app54 on ronserver: activate failed
forsempire_bc.jar
Module, sempire_bc.jar, reported error: Exception activating module:
EJBModule(sempire_bc.jar,status=PREPARED)

Unable to deploy EJB: OrganizationEJB from sempire_bc.jar:
weblogic.ejb20.WLDeploymentException: The DataSource with the JNDI name:
java:comp/env/ejb/Organization could not be located. Please ensure that the DataSource has
been deployed successfully and that the JNDI name in your EJB Deployment descriptor is
correct.
at
weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.setup(RDBMSPersistenceManager.java:130)
at weblogic.ejb20.manager.BaseEntityManager.setupPM(BaseEntityManager.java:214)
at weblogic.ejb20.manager.BaseEntityManager.setup(BaseEntityManager.java:186)
at weblogic.ejb20.manager.DBManager.setup(DBManager.java:161)
at
weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrivenBeanInfoImpl.java:936)
at weblogic.ejb20.deployer.EJBDeployer.activate(EJBDeployer.java:1302)
at weblogic.ejb20.deployer.EJBModule.activate(EJBModule.java:342)
at
weblogic.j2ee.J2EEApplicationContainer.activateModule(J2EEApplicationContainer.java:1534)
at
weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:991)
at
weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:978)
at
weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:1104)
at
weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:724)
at
weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:24)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
failed application app54 on ronserver
My ejb-jar.xml file is:
<?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>
<display-name>Business Component CMP 2.0</display-name>
<enterprise-beans>
<entity>
<display-name>Gangster Entity Bean</display-name>
<ejb-name>GangsterEJB</ejb-name>
<local-home>com.sempire.builder.business_component.GangsterHome</local-home>
<local>com.sempire.builder.business_component.Gangster</local>
<ejb-class>com.sempire.builder.business_component.GangsterBean</ejb-class>

<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<cmp-field><field-name>iD</field-name></cmp-field>
<cmp-field><field-name>name</field-name></cmp-field>
<cmp-field><field-name>nickname</field-name></cmp-field>
<cmp-field><field-name>badness</field-name></cmp-field>
<primkey-field>iD</primkey-field>
<env-entry>
<env-entry-name>GANGSTER</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>Gangster</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>oraclePool</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>oraclePool</env-entry-value>
</env-entry>
<resource-ref>
<res-ref-name>jdbc/Gangster</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

</entity>
<entity>
<display-name>Organization Entity Bean</display-name>
<ejb-name>OrganizationEJB</ejb-name>
<local-home>com.sempire.builder.business_component.OrganizationHome</local-home>
<local>com.sempire.builder.business_component.Organization</local>
<ejb-class>com.sempire.builder.business_component.OrganizationBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<cmp-field><field-name>iD</field-name></cmp-field>
<cmp-field><field-name>name</field-name></cmp-field>
<cmp-field><field-name>description</field-name></cmp-field>
<primkey-field>iD</primkey-field>
<env-entry>
<env-entry-name>ORGANIZATION</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>Organization</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>oraclePool</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>oraclePool</env-entry-value>
</env-entry>
<resource-ref>
<res-ref-name>jdbc/Organization</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

</entity>
<entity>
<display-name>Job Entity Bean</display-name>
<ejb-name>JobEJB</ejb-name>
<local-home>com.sempire.builder.business_component.JobHome</local-home>
<local>com.sempire.builder.business_component.Job</local>
<ejb-class>com.sempire.builder.business_component.JobBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<cmp-field><field-name>iD</field-name></cmp-field>
<cmp-field><field-name>name</field-name></cmp-field>
<cmp-field><field-name>score</field-name></cmp-field>
<cmp-field><field-name>setupCost</field-name></cmp-field>
<primkey-field>iD</primkey-field>
<env-entry>
<env-entry-name>Job</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>Job</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>oraclePool</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>oraclePool</env-entry-value>
</env-entry>
<resource-ref>
<res-ref-name>jdbc/Job</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

</entity>
</enterprise-beans>
<relationships>
<ejb-relation>
<ejb-relation-name>organization-memberGangsters</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>organization--
-memberGangsters</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source>
<ejb-name>OrganizationEJB</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>memberGangsters</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
<ejb-relationship-role>
<ejb-relationship-role-name>memberGangsters--
-organization</ejb-relationship-role-name>
<multiplicity>Many</multiplicity>
<cascade-delete/>
<relationship-role-source>
<ejb-name>GangsterEJB</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>organization</cmr-field-name>
</cmr-field>
</ejb-relationship-role>
</ejb-relation>
<ejb-relation>
<ejb-relation-name>gangsters-jobs</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>gangsters---jobs</ejb-relationship-role-name>
<multiplicity>Many</multiplicity>
<relationship-role-source>
<ejb-name>GangsterEJB</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>jobs</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
<ejb-relationship-role>
<ejb-relationship-role-name>jobs---gangsters</ejb-relationship-role-name>
<multiplicity>Many</multiplicity>
<relationship-role-source>
<ejb-name>JobEJB</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>gangsters</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
</ejb-relation>
<ejb-relation>
<ejb-relation-name>organization-theBoss</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>organization--
-theBoss</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source>
<ejb-name>OrganizationEJB</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>theBoss</cmr-field-name>
</cmr-field>
</ejb-relationship-role>
<ejb-relationship-role>
<ejb-relationship-role-name>theBoss--
-organization</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source>
<ejb-name>GangsterEJB</ejb-name>
</relationship-role-source>
</ejb-relationship-role>
</ejb-relation>
</relationships>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>GangsterEJB</ejb-name>
<method-name>*</method-name>
</method>
<method>
<ejb-name>OrganizationEJB</ejb-name>
<method-name>*</method-name>
</method>
<method>
<ejb-name>JobEJB</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>

My weblogic-ejb-jar.xml is:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-ejb-jar PUBLIC
'-//BEA Systems, Inc.//DTD WebLogic 7.0.0 EJB//EN'
'http://www.bea.com/servers/wls700/dtd/weblogic-ejb-jar.dtd'>
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>GangsterEJB</ejb-name>
<entity-descriptor>
<persistence>
<persistence-use>

<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>

<type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
</persistence-use>
</persistence>
</entity-descriptor>
<reference-descriptor>
<resource-description>
<res-ref-name>jdbc/Gangster</res-ref-name>
<jndi-name>oraclePool</jndi-name>
</resource-description>
</reference-descriptor>
<jndi-name>Gangster</jndi-name>
</weblogic-enterprise-bean>

<weblogic-enterprise-bean>
<ejb-name>OrganizationEJB</ejb-name>
<entity-descriptor>
<persistence>
<persistence-use>

<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>

<type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
</persistence-use>
</persistence>
</entity-descriptor>
<reference-descriptor>
<resource-description>
<res-ref-name>jdbc/Organization</res-ref-name>
<jndi-name>oraclePool</jndi-name>
</resource-description>
</reference-descriptor>
<jndi-name>Organization</jndi-name>
</weblogic-enterprise-bean>
<weblogic-enterprise-bean>
<ejb-name>JobEJB</ejb-name>
<entity-descriptor>
<persistence>
<persistence-use>

<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>

<type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
</persistence-use>
</persistence>
</entity-descriptor>
<reference-descriptor>
<resource-description>
<res-ref-name>jdbc/Job</res-ref-name>
<jndi-name>oraclePool</jndi-name>
</resource-description>
</reference-descriptor>
<jndi-name>Job</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
My weblogic-cmp-rdbms-jar.xml file is:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-rdbms-jar PUBLIC
'-//BEA Systems, Inc.//DTD WebLogic 7.0.0 EJB RDBMS Persistence//EN'
'http://www.bea.com/servers/wls700/dtd/weblogic-rdbms20-persistence-700.dtd'>
<weblogic-rdbms-jar>
<weblogic-rdbms-bean>
<ejb-name>GangsterEJB</ejb-name>
<data-source-name>java:comp/env/ejb/Gangster</data-source-name>
<table-map>
<table-name>GANGSTER</table-name>
<field-map>
<cmp-field>iD</cmp-field>
<dbms-column>ID</dbms-column>
</field-map>
<field-map>
<cmp-field>name</cmp-field>
<dbms-column>NAME</dbms-column>
</field-map>
<field-map>
<cmp-field>nickname</cmp-field>
<dbms-column>NICKNAME</dbms-column>
</field-map>
<field-map>
<cmp-field>badness</cmp-field>
<dbms-column>BADNESS</dbms-column>
</field-map>
</table-map>
<weblogic-query>
<query-method>
<method-name>findAll</method-name>
<method-params></method-params>
</query-method>
</weblogic-query>
</weblogic-rdbms-bean>
<weblogic-rdbms-bean>
<ejb-name>OrganizationEJB</ejb-name>
<data-source-name>java:comp/env/ejb/Organization</data-source-name>
<table-map>
<table-name>ORGANIZATION</table-name>
<field-map>
<cmp-field>iD</cmp-field>
<dbms-column>ID</dbms-column>
</field-map>
<field-map>
<cmp-field>name</cmp-field>
<dbms-column>NAME</dbms-column>
</field-map>
<field-map>
<cmp-field>description</cmp-field>
<dbms-column>DESCRIPTION</dbms-column>
</field-map>
</table-map>
<weblogic-query>
<query-method>
<method-name>findAll</method-name>
<method-params></method-params>
</query-method>
</weblogic-query>
</weblogic-rdbms-bean>
<weblogic-rdbms-bean>
<ejb-name>JobEJB</ejb-name>
<data-source-name>java:comp/env/ejb/Job</data-source-name>
<table-map>
<table-name>JOB</table-name>
<field-map>
<cmp-field>iD</cmp-field>
<dbms-column>ID</dbms-column>
</field-map>
<field-map>
<cmp-field>name</cmp-field>
<dbms-column>NAME</dbms-column>
</field-map>
<field-map>
<cmp-field>score</cmp-field>
<dbms-column>SCORE</dbms-column>
</field-map>
<field-map>
<cmp-field>setupCost</cmp-field>
<dbms-column>SETUPCOST</dbms-column>
</field-map>
</table-map>
<weblogic-query>
<query-method>
<method-name>findAll</method-name>
<method-params></method-params>
</query-method>
</weblogic-query>
</weblogic-rdbms-bean>
<weblogic-rdbms-relation>
<relation-name>organization-memberGangsters</relation-name>
<weblogic-relationship-role>
<relationship-role-name>memberGangsters--
-organization</relationship-role-name>
<relationship-role-map>
<column-map>
<foreign-key-column>iD</foreign-key-column>
<key-column>ID</key-column>
</column-map>
</relationship-role-map>
</weblogic-relationship-role>
</weblogic-rdbms-relation>

<weblogic-rdbms-relation>
<relation-name>gangsters-jobs</relation-name>
<table-name>JOBS</table-name>
<weblogic-relationship-role>
<relationship-role-name>gangsters---jobs</relationship-role-name>
<relationship-role-map>
<column-map>
<foreign-key-column>iD</foreign-key-column>
<key-column>ID</key-column>
</column-map>
</relationship-role-map>
</weblogic-relationship-role>
<weblogic-relationship-role>
<relationship-role-name>jobs---gangsters</relationship-role-name>
<relationship-role-map>
<column-map>
<foreign-key-column>iD</foreign-key-column>
<key-column>ID</key-column>
</column-map>
</relationship-role-map>
</weblogic-relationship-role>
</weblogic-rdbms-relation>
<weblogic-rdbms-relation>
<relation-name>organization-theBoss</relation-name>
<weblogic-relationship-role>
<relationship-role-name>organization---theBoss</relationship-role-name>
<relationship-role-map>
<column-map>
<foreign-key-column>iD</foreign-key-column>
<key-column>ID</key-column>
</column-map>
</relationship-role-map>
</weblogic-relationship-role>
</weblogic-rdbms-relation>

</weblogic-rdbms-jar>
 
Ranch Hand
Posts: 2713
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You have a couple problems.
First, the jndi-name in the reference-descriptor of your weblogic-ejb-jar.xml file should refer to the Datasource NOT the Connection Pool.
Secondly, you are giving your datasource and ejbs the same JNDI name. This is a big no-no. I like to adopt a similar convention to package structures for JNDI names. So the datasource would com.organization.datasource.name and the ejbs would be com.organization.ejb.name.
Make sense?
 
Ronak Parekh
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am still getting the same error:
Unable to deploy EJB: OrganizationEJB from sempire_bc.jar
The DataSource with the JNDI name: OrganizationDB can not be located. Please ensure that the DataSource has been deployed
successfully and that the JNDI name in your EJB Deployment descriptor is correct.
In my console, I have created a connection pool 'oraclePool' and 3 datasource 'jdbc.GangsterDB', 'jdbc.OrganizationDB' and
'jdbc.JobDB'. I have also specified the target server and there seems to be no error. I have checked 'Monitor All Connection
Pools' and oraclePool is running. I still do not understand the problem that I am getting and have no clue how to solve it.
Thank you
Ronak Parekh
My weblogic-ejb-jar.xml file is:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-ejb-jar PUBLIC
'-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN'
'http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd'>
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>GangsterEJB</ejb-name>
<entity-descriptor>
<persistence>
<persistence-type>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>
<type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
</persistence-type>
<persistence-use>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>
</persistence-use>
</persistence>
</entity-descriptor>
<reference-descriptor>
<resource-description>
<res-ref-name>jdbc/oraclePool</res-ref-name>
<jndi-name>jdbc.GangsterDB</jndi-name>
</resource-description>
</reference-descriptor>
<local-jndi-name>jdbc.GangsterDB</local-jndi-name>
</weblogic-enterprise-bean>
<weblogic-enterprise-bean>
<ejb-name>OrganizationEJB</ejb-name>
<entity-descriptor>
<persistence>
<persistence-type>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>
<type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
</persistence-type>
<persistence-use>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>
</persistence-use>
</persistence>
</entity-descriptor>
<reference-descriptor>
<resource-description>
<res-ref-name>jdbc/oraclePool</res-ref-name>
<jndi-name>jdbc.OrganizationDB</jndi-name>
</resource-description>
</reference-descriptor>
<local-jndi-name>jdbc.OrganizationDB</local-jndi-name>
</weblogic-enterprise-bean>
<weblogic-enterprise-bean>
<ejb-name>JobEJB</ejb-name>
<entity-descriptor>
<persistence>
<persistence-type>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>
<type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
</persistence-type>
<persistence-use>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>
</persistence-use>
</persistence>
</entity-descriptor>
<reference-descriptor>
<resource-description>
<res-ref-name>jdbc/oraclePool</res-ref-name>
<jndi-name>jdbc.JobDB</jndi-name>
</resource-description>
</reference-descriptor>
<local-jndi-name>jdbc.JobDB</local-jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>

My ejb-jar.xml file is:
<?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>
<display-name>Business Component CMP 2.0</display-name>
<enterprise-beans>
<entity>
<display-name>Gangster Entity Bean</display-name>
<ejb-name>GangsterEJB</ejb-name>
<local-home>com.sempire.builder.business_component.GangsterHome</local-home>
<local>com.sempire.builder.business_component.Gangster</local>
<ejb-class>com.sempire.builder.business_component.GangsterBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>GangsterEJB</abstract-schema-name>
<cmp-field><field-name>iD</field-name></cmp-field>
<cmp-field><field-name>name</field-name></cmp-field>
<cmp-field><field-name>nickname</field-name></cmp-field>
<cmp-field><field-name>badness</field-name></cmp-field>
<primkey-field>iD</primkey-field>
<resource-ref>
<res-ref-name>jdbc/oraclePool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<query>
<query-method>
<method-name>findAll</method-name>
<method-params></method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM GangsterEJB AS a]]>
</ejb-ql>
</query>
</entity>
<entity>
<display-name>Organization Entity Bean</display-name>
<ejb-name>OrganizationEJB</ejb-name>
<local-home>com.sempire.builder.business_component.OrganizationHome</local-home>
<local>com.sempire.builder.business_component.Organization</local>
<ejb-class>com.sempire.builder.business_component.OrganizationBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>OrganizationEJB</abstract-schema-name>
<cmp-field><field-name>iD</field-name></cmp-field>
<cmp-field><field-name>name</field-name></cmp-field>
<cmp-field><field-name>description</field-name></cmp-field>
<primkey-field>iD</primkey-field>
<resource-ref>
<res-ref-name>jdbc/oraclePool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<query>
<query-method>
<method-name>findAll</method-name>
<method-params></method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM OrganizationEJB AS a]]>
</ejb-ql>
</query>
</entity>
<entity>
<display-name>Job Entity Bean</display-name>
<ejb-name>JobEJB</ejb-name>
<local-home>com.sempire.builder.business_component.JobHome</local-home>
<local>com.sempire.builder.business_component.Job</local>
<ejb-class>com.sempire.builder.business_component.JobBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>JobEJB</abstract-schema-name>
<cmp-field><field-name>iD</field-name></cmp-field>
<cmp-field><field-name>name</field-name></cmp-field>
<cmp-field><field-name>score</field-name></cmp-field>
<cmp-field><field-name>setupCost</field-name></cmp-field>
<primkey-field>iD</primkey-field>
<resource-ref>
<res-ref-name>jdbc/oraclePool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<query>
<query-method>
<method-name>findAll</method-name>
<method-params></method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM JobEJB AS a]]>
</ejb-ql>
</query>

</entity>
</enterprise-beans>
<relationships>
<ejb-relation>
<ejb-relation-name>organization-memberGangsters</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>organization---memberGangsters</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source>
<ejb-name>OrganizationEJB</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>memberGangsters</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
<ejb-relationship-role>
<ejb-relationship-role-name>memberGangsters---organization</ejb-relationship-role-name>
<multiplicity>Many</multiplicity>
<cascade-delete/>
<relationship-role-source>
<ejb-name>GangsterEJB</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>organization</cmr-field-name>
</cmr-field>
</ejb-relationship-role>
</ejb-relation>
<ejb-relation>
<ejb-relation-name>gangsters-jobs</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>gangsters---jobs</ejb-relationship-role-name>
<multiplicity>Many</multiplicity>
<relationship-role-source>
<ejb-name>GangsterEJB</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>jobs</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
<ejb-relationship-role>
<ejb-relationship-role-name>jobs---gangsters</ejb-relationship-role-name>
<multiplicity>Many</multiplicity>
<relationship-role-source>
<ejb-name>JobEJB</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>gangsters</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
</ejb-relation>
<ejb-relation>
<ejb-relation-name>organization-theBoss</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>organization---theBoss</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source>
<ejb-name>OrganizationEJB</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>theBoss</cmr-field-name>
</cmr-field>
</ejb-relationship-role>
<ejb-relationship-role>
<ejb-relationship-role-name>theBoss---organization</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source>
<ejb-name>GangsterEJB</ejb-name>
</relationship-role-source>
</ejb-relationship-role>
</ejb-relation>
</relationships>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>GangsterEJB</ejb-name>
<method-name>*</method-name>
</method>
<method>
<ejb-name>OrganizationEJB</ejb-name>
<method-name>*</method-name>
</method>
<method>
<ejb-name>JobEJB</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>

My weblogic-cmp-rdbms-jar.xml file is:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-rdbms-jar PUBLIC
'-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB RDBMS Persistence//EN'
'http://www.bea.com/servers/wls600/dtd/weblogic-rdbms20-persistence-600.dtd'>
<weblogic-rdbms-jar>
<weblogic-rdbms-bean>
<ejb-name>GangsterEJB</ejb-name>
<data-source-name>GangsterDB</data-source-name>
<table-name>GANGSTER</table-name>
<field-map>
<cmp-field>iD</cmp-field>
<dbms-column>ID</dbms-column>
</field-map>
<field-map>
<cmp-field>name</cmp-field>
<dbms-column>NAME</dbms-column>
</field-map>
<field-map>
<cmp-field>nickname</cmp-field>
<dbms-column>NICKNAME</dbms-column>
</field-map>
<field-map>
<cmp-field>badness</cmp-field>
<dbms-column>BADNESS</dbms-column>
</field-map>
<weblogic-query>
<query-method>
<method-name>findAll</method-name>
<method-params></method-params>
</query-method>
</weblogic-query>
</weblogic-rdbms-bean>
<weblogic-rdbms-bean>
<ejb-name>OrganizationEJB</ejb-name>
<data-source-name>OrganizationDB</data-source-name>
<table-name>ORGANIZATION</table-name>
<field-map>
<cmp-field>iD</cmp-field>
<dbms-column>ID</dbms-column>
</field-map>
<field-map>
<cmp-field>name</cmp-field>
<dbms-column>NAME</dbms-column>
</field-map>
<field-map>
<cmp-field>description</cmp-field>
<dbms-column>DESCRIPTION</dbms-column>
</field-map>
<weblogic-query>
<query-method>
<method-name>findAll</method-name>
<method-params></method-params>
</query-method>
</weblogic-query>
</weblogic-rdbms-bean>
<weblogic-rdbms-bean>
<ejb-name>JobEJB</ejb-name>
<data-source-name>JobDB</data-source-name>
<table-name>JOB</table-name>
<field-map>
<cmp-field>iD</cmp-field>
<dbms-column>ID</dbms-column>
</field-map>
<field-map>
<cmp-field>name</cmp-field>
<dbms-column>NAME</dbms-column>
</field-map>
<field-map>
<cmp-field>score</cmp-field>
<dbms-column>SCORE</dbms-column>
</field-map>
<field-map>
<cmp-field>setupCost</cmp-field>
<dbms-column>SETUPCOST</dbms-column>
</field-map>
<weblogic-query>
<query-method>
<method-name>findAll</method-name>
<method-params></method-params>
</query-method>
</weblogic-query>
</weblogic-rdbms-bean>
<weblogic-rdbms-relation>
<relation-name>organization-memberGangsters</relation-name>
<weblogic-relationship-role>
<relationship-role-name>memberGangsters---organization</relationship-role-name>
<column-map>
<foreign-key-column>iD</foreign-key-column>
<key-column>ID</key-column>
</column-map>
</weblogic-relationship-role>
</weblogic-rdbms-relation>

<weblogic-rdbms-relation>
<relation-name>gangsters-jobs</relation-name>
<table-name>JOBS</table-name>
<weblogic-relationship-role>
<relationship-role-name>gangsters---jobs</relationship-role-name>
<column-map>
<foreign-key-column>iD</foreign-key-column>
<key-column>ID</key-column>
</column-map>
</weblogic-relationship-role>
<weblogic-relationship-role>
<relationship-role-name>jobs---gangsters</relationship-role-name>
<column-map>
<foreign-key-column>iD</foreign-key-column>
<key-column>ID</key-column>
</column-map>
</weblogic-relationship-role>
</weblogic-rdbms-relation>
<weblogic-rdbms-relation>
<relation-name>organization-theBoss</relation-name>
<weblogic-relationship-role>
<relationship-role-name>organization---theBoss</relationship-role-name>
<column-map>
<foreign-key-column>iD</foreign-key-column>
<key-column>ID</key-column>
</column-map>
</weblogic-relationship-role>
</weblogic-rdbms-relation>
</weblogic-rdbms-jar>
 
Chris Mathews
Ranch Hand
Posts: 2713
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You are messing up with lines like these:

You are setting the jndi name of your ejb to the jndi name of your datasource. Bad news abounds.
[ September 19, 2002: Message edited by: Chris Mathews ]
 
Ranch Hand
Posts: 59
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Following is the code that works for me.See if it useful to you .
try {
Context ctx = null;
ctx = new InitialContext();
javax.sql.DataSource ds
= (javax.sql.DataSource) ctx.lookup("put here jndi name of the datsource that you created in console");
conn = ds.getConnection();
logger.debug("Making connection...\n");

stmt = conn.createStatement();
Since i am not using cmp i don't have the descriptor files.
Thanks,
smita
 
reply
    Bookmark Topic Watch Topic
  • New Topic