Data-sources in EAR

Dear JDev team,
Although some topics on the subject already exist, I'd like to say some words concerning data-sources.xml creation in EAR too.
Now (Jdev9032) it is automatically created from existing Database connections.
When some of these data-sources equals in name with global data-source, it's needed to edit EAR's Meta-inf manually before deploying, otherwise this local data-source prevails.
Current approach for building DS-related properties in AM's Configuration from one of the Database connections is looking not so good. For these needs, I have to create some 'matching' db connection meaning its name to be used for auto-constructed DS-names (odb01 -> jdbc/<odb01>DS, jdbc/<odb01>CoreDS).
Following the current logic on data-source.xml creation in EAR, this db connection is also included there, leading to conflict with global DS-name in deployment.
I would propose to include some 'properties' tool for any auto-generated code as a common approach.
Thanks

Update the data source file with the Refresh button in Embedded OC4J Server Preferences.

Similar Messages

  • How to prevent data-sources.xml from being included in EAR

    I cannot get rid of the data-sources.xml file in my EAR file in the meta-inf folder.
    Deselecting the "Bundle Default data-sources.xml during deployment" in my preferences didn't have any effect. I also tried shutting down/restarting JDeveloper just in case it was cached.
    I also tried adding an exclude filter for data-sources.xml in my deploy profile for both Web files and WEB-INF/classes.

    The way I resolved this was to create the data-sources.xml, right click it, select Properties then uncheck Auto-update data sources.xml. That way it stays empty (hopefully).

  • How to get a EAR package for deploying without local data-source setting in JDev9i?

    Hi all,
    I want to use pooled data-sources defined in OC4J's global configuration setting directory in JDEV_HOME\j2ee\home\config.
    But when I packaged my application to an EAR file,it contains it's local data-sources.xml file in the package.Each time the server was restared,the local data-sources.xml file was overwritten by the originally setting in the EAR package,thus I cannot use the pooled settings.
    So could let me know how to package a EAR file without containing it's local data-source setting,but use the global data-source setting?Or how to control the local data-source setting without changed after mannully defined.
    Your reply is greatly appreciated!
    Regards,
    Robbin Woo

    Mike,
    You don't need a File to do what you want. Even if you could, it would be wrong to use a file.
    It would be wrong, because the compiler might not by using a JavaFileManager that is actually backed by a filesystem. It could be backed by some form of repository such as a database, or it could be backed by a transient in memory file system ( An example of the latter is the [annotation processor test framework|https://hickory.dev.java.net/nonav/apidocs/index.html?net/java/dev/hickory/testing/package-summary.html] in hickory)
    But probably of more interest to you, you don't need to because you can simply [get an InputStream|http://java.sun.com/javase/6/docs/api/javax/tools/FileObject.html#openInputStream()] from the FileObject returned from [filer.getResource(...)|http://java.sun.com/javase/6/docs/api/javax/annotation/processing/Filer.html#getResource(javax.tools.JavaFileManager.Location,%20java.lang.CharSequence,%20java.lang.CharSequence)] and read it.
    You might also find the [Compiler Tree API|http://java.sun.com/javase/6/docs/jdk/api/javac/tree/index.html] useful. The Compiler Tree API is available to annotation processors running in Oracle's (Sun's) javac, but not in other compilers (possibly limiting portability).
    With this API you can [convert |http://java.sun.com/javase/6/docs/jdk/api/javac/tree/com/sun/source/util/Trees.html#getPath(javax.lang.model.element.Element)] the Element representing the annotation to a Treepath then [get the leaf node|http://java.sun.com/javase/6/docs/jdk/api/javac/tree/com/sun/source/util/TreePath.html#getLeaf()] and from that tree [obtain its offsets|http://java.sun.com/javase/6/docs/jdk/api/javac/tree/com/sun/source/util/Trees.html#getSourcePositions()] within the source file.
    Bruce

  • Creation of data sources by Ant

    Hi all
    Please help me..
    when i create data source by ant(copying data-sources.xml already stored in my hard disk with all valid entries.)and then deploy my EAR file and get the following error:
    10g-deploy:
    [exec] ADMN-300075
    [exec] Nested exception
    [exec] Resolution:
    [exec] Base Exception:
    [exec] javax.naming.NamingException
    [exec] Lookup error: javax.naming.AuthenticationException: RMIConnection Disconnected; nested exception is:
    [exec] javax.naming.AuthenticationException: RMIConnection Disconnected
    [exec] javax.naming.NamingException: Lookup error: javax.naming.AuthenticationException: RMIConnection Disconnected; nested exception is:
    [exec] javax.naming.AuthenticationException: RMIConnection Disconnected [Root exception is javax.naming.AuthenticationException: RMIConnection Disconnected]
    [exec] at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:168)
    [exec] at oracle.ias.sysmgmt.utility.Oc4jUtil.getOC4JApplicationServerAdministrator(Unknown Source)
    [exec] at oracle.ias.sysmgmt.deployment.j2ee.runtime.RuntimeIf.getOC4JApplicationServerAdministrator(Unknown Source)
    [exec] at oracle.ias.sysmgmt.deployment.j2ee.runtime.LocalDeploy.deployOnSingleInstance(Unknown Source)
    [exec] at oracle.ias.sysmgmt.deployment.j2ee.runtime.LocalDeploy.doExecute(Unknown Source)
    [exec] at oracle.ias.sysmgmt.deployment.j2ee.runtime.RuntimeIf.execute(Unknown Source)
    [exec] at oracle.ias.sysmgmt.deployment.j2ee.adapter.DeploymentAdapter.doEvaluateDeploy(Unknown Source)
    [exec] at oracle.ias.sysmgmt.deployment.j2ee.adapter.DeploymentAdapter.evaluate(Unknown Source)
    [exec] at oracle.ias.sysmgmt.task.TaskMaster.sync_evaluate(Unknown Source)
    [exec] at oracle.ias.sysmgmt.task.TaskMaster.internal_evaluate(Unknown Source)
    [exec] at oracle.ias.sysmgmt.task.RemoteEvaluate.execCommand(Unknown Source)
    [exec] at oracle.ias.sysmgmt.task.DaemonWorker.run(Unknown Source)
    [exec] Caused by: javax.naming.AuthenticationException: RMIConnection Disconnected
    [exec] at com.evermind.server.rmi.RMIConnection.connect(RMIConnection.java:2523)
    [exec] at com.evermind.server.rmi.RMIConnection.connect(RMIConnection.java:2339)
    [exec] at com.evermind.server.rmi.RMIConnection.lookup(RMIConnection.java:1781)
    [exec] at com.evermind.server.rmi.RMIServer.lookup(RMIServer.java:721)
    [exec] at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:149)
    [exec] ... 11 more
    BUILD SUCCESSFUL
    Total time: 4 minutes 58 seconds
    But when i crete data source using Oracle enterprise manager,I m able to deploy my EAR file successfully.
    Can nebody please tell me how can i create data source manually by ant script ant then deploy my appln. successfully
    The entries done by me in data-sources.xml are:
    <data-source class="com.evermind.sql.orionCMTDataSource" location="jdbc/los" connection-driver="oracle.jdbc.driver.OracleDriver" username="dbprod_test" password="dbprod_test" url="jdbc:oracle:thin:@//10.0.52.160:1521/orcl" name="jdbc/los"><description>LOSDB</description></data-source
    Thanks in advance..

    user534925,
    Do you want to create a global datasource or one for a specific J2EE application?
    For a global datasource, you can use the "admin.jar" file.
    Type the following command for more details:
    java -jar admin.jar -helpOne of the options is "-installDataSource".
    You should be able to launch "admin.jar" from an "ant" script (I think -- I don't use "ant").
    Sorry, I don't remember how to set up a datasource for a specific application.
    (And I'm too lazy to search for it for you, now :-)
    Good Luck,
    Avi.

  • Need help with understanding the link between jndi and data source

    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 app10 on ronserver
    prepared application app10 on ronserver
    activating application app10 on ronserver
    Exception caught for task Activate application app10 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: 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 app10 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>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>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>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>

    The problem I see is wrong url for jDriver.
    you have to say: jdbc:weblogic:oracle
    In properties what you need is:
    user=
    password=
    server=
    Actually, your connetion pool is not created yet. It has problems. Make sure you create connectionpool successfully
    first.
    Thanks,
    Mitesh
    ronak wrote:
    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 app10 on ronserver
    prepared application app10 on ronserver
    activating application app10 on ronserver
    Exception caught for task Activate application app10 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: 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 app10 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>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>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>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>

  • How can I manage my data sources better?

    I'm learning WebLogic and my installation already has a data source configured to point to one of our eight databases. As we move through different phases of development, I need to point to a different database and changing it in WL is cumbersome. What I would like is to have all eight databases added as eight sources and enable only one at a time depending on our needs. I'd like to know:
    1) How does WebLogic know which data source to use for my .ear?
    2) With more than one data source, how do I ensure that only the one I want is used by my ear?
    Many thanks,
    TenLeftFingers

    It depends a bit on what you want to do (what you mean by "manage"), but perhaps this will help:
    Settings app > iCloud >
    http://help.apple.com/ipad/7/#/iPad995bbafe

  • 903/902/BC4J can't get data-sources.xml conn pooling to work in production; help

    I have several BC4J ears deployed to a 903 instance of OC4J being configured as a standalone
    instance. I've had this problem since I started deploying in development on 902. So it's
    some basic problem that I've not mastered.
    I can't get data-sources.xml managed connection pooling to actually pool conn's. I'm wanting
    to declare my jndi jdbc source connection pool in j2ee/home/config/data-sources.xml.
    Have all BC4J apps get conns from this JNDI JDBC pool. I've removed all data-sources.xml from my BC4J ears,
    and published the jndi jdbc source in my oc4j common data-sources.xml. I've tested that this is
    the place controlling the conn URL/login passwd by commenting it out of config/data-sources.xml
    and my BC4J apps then throw exceptions, can't get conn.
    I've set the oc4j startup cmd line with the BC4J property to enabled connection pooling:
    -Djbo.doconnectionpooling=true
    symptom
    Connections are created and closed. Instead of being put back into the pool managed by oc4j,
    what ever BC4J is doing or my data-sources.xml is doing, the connections are just being created and
    closed.
    I can verify this via (solaris) lsof and netstat, where I see my oc4j instance under test load
    with only 1 or 2 conns to the db box, and the ephemeral port is tumbling, meaning a new socket is
    being opened for each conn. ;( grrrrrrr
    Does anyone have a clue as to why this is happening?
    Thanks, curt
    my data-sources.xml
    <data-sources>
         <data-source
            class="com.evermind.sql.DriverManagerDataSource"
            connection-driver="oracle.jdbc.driver.OracleDriver"
            ejb-location="jdbc/DEVDS"
            location="jdbc/DEVCoreDS"
            name="DEVDS"
            password="j2train"
            pooled-location="jdbc/DEVPooledDS"
            url="jdbc:oracle:thin:@10.2.1.30:1521:GDOC"
            username="jscribe"
            xa-location="jdbc/xa/DEVXADS"
            inactivity-timeout="300"
            max-connections="50"
            min-connections="40"
        />
    </data-sources>

    I've run another test using local data-source.xml, that's packaged in the .ear. Still
    pooling under BC4J doesn't work??
    A piece of info is that the 903 oc4j release notes states that global conn pooling doesn't
    work. Infering that the j2ee/home/config/data-sources.xml data sources aren't pooled or ??
    I just tested so called local connection pooling, where I edited the data-sources.xml that
    gets packaged in the ear, to include the min/max params and re-ran my test.
    Still, the AM creates a new conn, it's to a new socket, and closes the conn when done. Causing
    each conn to not be pooled, rather opened then closed to the DB box. As verified with lsof and
    netstat, checking the ephemeral port # on the DB box side, always changes, meaning it's a
    new socket and not an old pooled conn socket.
    ???? What the heck??
    Surely if the AM conn check out / return code works properly, OC4J's pooling JDBC driver would
    pool and not close the socket??
    Has anywone gotten JDBC Datasource connections in BC4J to actually be pooled under OC4J??
    Since I couldn't get this to work in my early 902 oc4j testing, and now can't get it to work
    still under 903 OC4J, either it's my config or BC4J AM's code or OC4J?
    Any thoughts on how to figure out what's not configed correctly or has a bug?
    Thanks, curt

  • How to add a data-source.xml to the project to config DB connections and to be SCM'ed

    I'd like to explicitly manage a data-sources.xml for my JSP + BC4J project.
    Any helps on getting the released Jdev to add a data-source.xml that would then
    be what the .ear deploys to OC4J?
    Thanks, curt

    I have a JSP + BC4J project:
    So far my naive experiments to explicitely add data-sources.xml to a
    project that is picked up by the deploy to .ear step and put in the
    root of the .ear have failed.
    Is this one of those gaps like the orion-application.xml file, that has no
    solution at present?
    Or is the back-door via adding an EJB component to my project, then deleting it??
    Thanks, curt

  • JPA with MySQL-Data-Source

    Hello Forum,
    I have a question regarding usage of a MySQL-Data-Source in combination with JPA
    on the SAP NetWeaver Application Server, Java ™ EE 5 Edition.
    I have setup a custom datasource like explained in paper:
    "Working with Database Tables, DataSources and JMS Resources"
    - registered the database driver via telnet (Using mysql-connector-java-5.0.3-bin.jar)
    - created the data-sources.xml file underneath the META-INF dir of the EAR project
    [code]
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE data-sources SYSTEM "data-sources.dtd" >
    <data-sources>
      <data-source>
        <data-source-name>titan_cruises_ds</data-source-name>
        <driver-name>mysql-connector-java-5.0.3-bin.jar</driver-name>
         <init-connections>1</init-connections>
         <max-connections>10</max-connections>
         <max-time-to-wait-connection>60</max-time-to-wait-connection>
         <expiration-control>
              <connection-lifetime>600</connection-lifetime>
              <run-cleanup-thread>60</run-cleanup-thread>
         </expiration-control>
         <sql-engine>native_sql</sql-engine>
        <jdbc-1.x>
          <driver-class-name>com.mysql.jdbc.Driver</driver-class-name>
          <url>jdbc:mysql://ourHost.internal.com:3306/practise_titan_cruises</url>
          <user-name>myUser</user-name>
          <password>myPass</password>
        </jdbc-1.x>
      </data-source>
    </data-sources>
    [/code]
    After that I manually created the persistence.xml underneath the META-INF dir of the EJB project.
    [code]
    <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
         <persistence-unit name="titan_cruises_pu">
              <jta-data-source>titan_cruises_ds</jta-data-source>
         </persistence-unit>
    </persistence>
    [/code]
    After that I created the Entity named "Cabin" and the corresponding table within the db.
    Entity code:
    [code]
    package de.collogia.beans.pojo.ship;
    import java.io.IOException;
    import java.io.Serializable;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;
    import javax.persistence.Table;
    This persisted POJO class models the cabin data.
    <p>
    In this class persistence annotations are placed on the getter methods
    of the attributes. This tells the persistence manager to access them
    via the corresponding get- and set-Methods.</p>
    (Unfortunately this does not work on NetWeaver and I had to place them
    on field level aggain...)
    @author Henning Malzahn ([email protected])
    svn-revision:         $Rev:: 670                                           $:
    svn-lasted-edited-by: $Author:: henning                                    $:
    svn-last-changed:     $Date:: 2007-02-21 21:49:51 +0100 (Wed, 21 Feb 2007) $:
    @Entity
    @Table(name = "cabin")
    public class Cabin implements Serializable {
        /** The generated serial version UID used for serialization. */
        private static final long serialVersionUID = -8522497314498903378L;
        /** The actual version number of this class used for serialization. */
        private static int actualVersion = 1;
        /** The cabin's id. */
        @Id
        @GeneratedValue
        @Column(name = "id")
        private long id;
        /** The cabin's name */
        @Column(name = "name")
        private String name;
        /** The cabin's deck level */
        @Column(name = "deck_level")
        private int deckLevel;
        /** The cabin's ship id */
        @Column(name = "ship_id")
        private int shipId;
        /** The cabin's bed count */
        @Column(name="bed_count")
        private int bedCount;
    /---- Serialization/ Deserialization methods -/
    Method that is responsible for deserialization of the object.
    @param in The <code>ObjectInputStream</code> object to read
              the data from.
    @throws IOException That may occur when reading from the
                        <code>ObjectInputStream</code> object
    @throws ClassNotFoundException That may occur when invoking the default
                                   deserialization mechanism.
        private void readObject(final java.io.ObjectInputStream in)
            throws IOException, ClassNotFoundException {
            /* Invoke default deserialization mechanism. */
            in.defaultReadObject();
            /* Read the actual version number of the class. */
            actualVersion =  in.readInt();
        } // End of readObject()
    Method that is responsible for serialization of the object.
    @param out The <code>ObjectOutputStream</code> object to write
               the data to.
    @throws IOException That may occur when writing to the
                        <code>ObjectOutputStream</code> object.
        private void writeObject(final java.io.ObjectOutputStream out)
            throws IOException {
            /* Invoke default serialization mechanism. */
            out.defaultWriteObject();
            /* Write the actual version number of the class. */
            out.writeInt(actualVersion);
        } // End of writeObject()
    /---- Defining constructors -/
    Private default constructor.
        private Cabin() {
        } // End of default constructor
    Full constructor.
    @param name The cabin's name.
    @param deckLevel The cabin's deck level.
    @param shipId The cabin's ship id.
    @param bedCount The cabin's bed count.
        public Cabin(final String name,
                     final int deckLevel,
                     final int shipId,
                     final int bedCount) {
            this.name = name;
            this.deckLevel = deckLevel;
            this.shipId = shipId;
            this.bedCount = bedCount;
        } // End of full constructor
    /---- Overridden class methods -/
    Returns a string representation of the cabin's data.
    @see java.lang.Object#toString()
        @Override
        public String toString() {
            StringBuffer strBuf = new StringBuffer();
            strBuf.append(this.name);
            strBuf.append("\n");
            strBuf.append(this.deckLevel);
            strBuf.append("\n");
            strBuf.append(this.shipId);
            strBuf.append("\n");
            strBuf.append(this.bedCount);
            return strBuf.toString();
        } // End of toString()
    /---- Defining instance methods -/
    Get method for the member "<code>id</code>".
    @return Returns the id.
        public long getId() {
            return this.id;
    Set method for the member "<code>id</code>".
    HTDODO hm: Check whether it is possible to have setId method
    using private accesss level with NetWeaver JPA-Provider!
    @param id The id to set.
        private void setId(final long id) {
            this.id = id;
    Get method for the member "<code>name</code>".
    @return Returns the name.
        public String getName() {
            return this.name;
    Set method for the member "<code>name</code>".
    @param name The name to set.
        public void setName(final String name) {
            this.name = name;
    Get method for the member "<code>deckLevel</code>".
    @return Returns the deckLevel.
        public int getDeckLevel() {
            return this.deckLevel;
    Set method for the member "<code>deckLevel</code>".
    @param deckLevel The deckLevel to set.
        public void setDeckLevel(final int deckLevel) {
            this.deckLevel = deckLevel;
    Get method for the member "<code>shipId</code>".
    @return Returns the shipId.
        public int getShipId() {
            return this.shipId;
    Set method for the member "<code>shipId</code>".
    @param shipId The shipId to set.
        public void setShipId(final int shipId) {
            this.shipId = shipId;
    Get method for the member "<code>bedCount</code>".
    @return Returns the bedCount.
        public int getBedCount() {
            return this.bedCount;
    Set method for the member "<code>bedCount</code>".
    @param bedCount The bedCount to set.
        public void setBedCount(final int bedCount) {
            this.bedCount = bedCount;
    } // End of class Cabin
    [/code]
    After that I created the TravelAgentBean, a Stateless Session Bean, implementing
    a remote interface that allows construction and persisting of new Cabin objects:
    [code]
    package de.collogia.beans.session.stateless;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import de.collogia.beans.pojo.ship.Cabin;
    Class that implements the <code>TravelAgentRemote</code> interface
    and defines the business methods of the TravelAgent service.
    @author Henning Malzahn ([email protected])
    svn-revision:         $Rev:: 670                                           $:
    svn-lasted-edited-by: $Author:: henning                                    $:
    svn-last-changed:     $Date:: 2007-02-21 21:49:51 +0100 (Wed, 21 Feb 2007) $:
    @Stateless
    public class TravelAgentBean implements TravelAgentRemote {
        /** The <code>Log</code> object for this class. */
    //    private static final Log LOGGER;
        /** The <code>PersistenceManager</code> object. */
        @PersistenceContext(unitName = "titan_cruises_pu")
        EntityManager em;
    /---- Static initializer -/
    //    static {
    //        LOGGER = LogFactory.getLog(TravelAgentBean.class);
    //    } // End of static initializer block
    /---- Implementing remote interface methods -/
    {@inheritDoc}
        public void createCabin(final Cabin cabin) {
            this.em.persist(cabin);
        } // End of createCabin()
    } // End of class TravelAgentBean
    [/code]
    After that I created a Controller class containing a main method that looks up the remote
    interface of the TravelAgentBena like explained in document "Accessing Enterprise JavaBeans Using JNDI
    in SAP NetWeaver Application Server, Java ™ EE 5 Edition" written by Validimir Pavlov of SAP NetWeaver
    development team.
    Unfortunately I receive an Exception after invoking the createCabin(...) method.
    On the console of the NWDS I receive:
    [code]
    javax.ejb.EJBException: Exception in getMethodReady() for stateless bean sap.com/test2Earannotation|test2Ejb.jarannotation|TravelAgentBean;
    nested exception is: com.sap.engine.services.ejb3.util.pool.PoolException: javax.ejb.EJBException: Cannot perform injection over bean instance
    Caused by: java.lang.RuntimeException: The persistence unit is inconsistent:
    The entity >>de.collogia.beans.pojo.ship.Cabin<< is mapped to the table >>cabin<<, which does not exist.
    [/code]
    But if I look at the log file located in "C:\NWAS_JAVAEE5\JP1\JC00\j2ee\cluster\server0\log\defaultTrace.0.trc"
    I see the real reason is:
    [code]
    [EXCEPTION]
    #6#1064#42000#You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax
    to use near '"cabin"' at line 1#collnx02.collogia.de:3306:null:practise_titan_cruises#select * from "cabin"#com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"cabin"' at line 1
         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
         at com.mysql.jdbc.Connection.execSQL(Connection.java:3124)
         at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1149)
         at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1262)
         at com.sap.sql.jdbc.basic.BasicPreparedStatement.executeQuery(BasicPreparedStatement.java:99)
         at com.sap.sql.jdbc.direct.DirectPreparedStatement.executeQuery(DirectPreparedStatement.java:307)
         at com.sap.sql.jdbc.direct.DirectPreparedStatement.executeQuery(DirectPreparedStatement.java:264)
         at com.sap.engine.services.dbpool.wrappers.PreparedStatementWrapper.executeQuery(PreparedStatementWrapper.java:274)
    [/code]
    My goodness - what a long post - sorry for this - I hope I provided all information
    necessary to deal with the issue.
    Am I thinking in the right direction to blame attribute [code]<sql-engine>native_sql</sql-engine>[/code]
    of file data-sources.xml for the beaviour? Are there any other argument options than native_sql?
    Thanks in Advance!
    Henning Malzahn

    Hi Henning,
    > Despite the fact it's working now I have to do some
    > changes to my code currently
    > developed using JBoss/ Hibernate combination.
    > Hibernate allows you to have the
    > default no-arg constructor with private visibility -
    > any special reason for the fact that
    > only protected is allowed on NetWeaver?
    Here we strictly implemented the checks according to the requirements of the JPA specification. Technically, we could do with private constructors as well. But the JPA specifications requires the constructor to be protected to allow a JPA implementation to subclass entities if needed.
    > The entities in the project are final classes
    > so declaring a ctor protected doesn't really make
    > sense...
    For the same reason, your entities should not be final. Are we missing a check here ?
    > Also the persistence.xml parameter
    >
    hibernate.hbm2ddl.auto
    with the value of
    > create-drop is very useful while
    > developing the app - everytime you deploy the project
    > you get a fresh database.
    > Is there a comparable option for NetWeaver?
    No, unfortunately, there is no comparable option in SAP JPA (yet). We understand that there is a need for forward mapping. We would have liked to delegate this task to the JPA design time (i.e. Dali). However, we had to discover that Dali does not perform this task properly and we can't recommend using it any more.
    Consequently, there is no automatic schema generation in SAP JPA 1.0.
    >
    > Another thing is the extra TMP_SEQUENCE table which
    > isn't necessary using JBoss and
    > Hibernate - what's the reason for that?
    With Hibernate Entity Manager, the id generation strategy in use with GenerationType.AUTO depends on the database dialect. This means that depending on the database dialect, IDENTITY columns, SEQUENCES or generator tables (TableHiLo) are required. As Hibernate has the before mentioned schema generation property this fact can be hidden to the user.
    In SAP JPA, we are always using a table generator if GenerationType.AUTO is used. This allows for better portability across databases. It requires the table TMP_SEQUENCE. As we unfortunately do not have a schema generation capability, the user must create this table.
    Best regards,
    Adrian

  • How do I select a data source for my webapp?

    Wel, I'm obviously not looking in the right manual because this ought to be like falling off a log!
    I have developed a web application in JDeveloper 10.1.3 and I'm deploying it (using a WAR file) to an OC4J container in OAS 10.1.3.
    I have created a JDBC data source (JNDI location jdbc/bmra89) to connect to a 9.2.0.7 Oracle database and testing this through the interface is successful. The data source is associated with a new Connection Pool.
    I ensure that a default data-sources.xml file is NOT bundled into my WAR file from JDeveloper (because the database I want to connect to from the OAS is different to the database I want to connect to from the deployed web app) so it should be looking for one it builds itself. In fact, data-sources.xml exists in the j2ee/<webapp_name>/config directory that contains the details of the data source and connection pool I created.
    During deployment of the generated WAR file, I have chosen to Edit the Deployment Plan and in here I have entered the name of the data source (jdbc/bmra89) into the box labelled "defaultDataSource" and the boxes labelled "connectorsPath" and "dataSourcesPath" I've left empty.
    It all deploys OK, but when I try to access a page I get the following error:
    500 Internal Server Error
    JBO-30003: The application pool (model.AppModuleLocal) failed to checkout an application module due to the following exception:
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-29000: Unexpected exception caught: oracle.jbo.DMLException, msg=JBO-26061: Error while opening JDBC connection.
         at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1954)
    So, any ideas where I'm going wrong? (I have to admit to being pretty lost with all this!)
    Thanks,
    Andy

    Let's try to do this as easy as I'm capable of explaining.
    Deploy the EAR to the Application server/OC4J standalone that you're trying to configure without modifying or removing any of the files in the EAR or WAR file and using all of the defaults.
    Now start up the Application server control in you choice of web browser, my URL is http://localhost:8888/em.
    After logging into the console select the "Adminstration" Link, and there will be List of Administration Tasks, one of which being the JDBC Resources under, Services.
    After selecting the JDBC Resources "Go to Task" you will see 2 areas, Data Sources and Connection Pools. Somewhere in all of this you should see the jdev-connection-pool-bmra89, jdev-connection-managed-bmra89, and jdev-connection-native-bmra89.
    I normally modify the jdev-connection-pool-xxxxx first to use the correct URL connection. IE- jdbc:oracle:thin:@localhost:1521:bmra89 to jdbc:oracle:thin:@138.51.128.100:1521:bmra89, changing localhost to a specific database IP address.
    Then I'll click the Apply, and then go back and do the same to the jdev-connection-native-bmra89.
    At this point you should be able to test the connections successfully, and get the Web Service to connect.
    I hope I've covered it and that this helps, and you're not being thick. The data sources part of this stuff can be confusing.
    Darren

  • Data-sources.xml

    Hi All,
    In the 'Connections-Navigator' I have made some database connections, when I deploy my application JDev creates a file data-sources.xml ant put it under META-INF directory of ear file. But I am not able to see this file anywhere in my source tree. Is there any way to see and edit this file? Actually I want to enter some pooling related options in this file.
    Thanks,
    Vinod

    hi Vinod
    In my "SomeApp" workspace it appears in the same directory as SomeApp.jws, named SomeApp-data-sources.xml
    see also:
    "JDev 10g : no control over data-sources.xml"
    JDev 10g : no control over data-sources.xml
    success
    Jan Vervecken

  • Standalone 10.1.3.1.0 - Configure app to use the data-sources on parent app

    Hello:
    1.- I have defined a connection pool, and a data source, for the parent app "default"
    in my oc4j standalone.
    2.- I read in some place, that I can use those definitions in my deployed apps,
    without define a datasource for every app.
    3.- Previously, I have my own data-sources.xml file in every ear file, with exactly
    the same information, and in my orion-application.xml, i have a <data-source>
    tag, specifying this file.
    4.- Now i want to use the parent's data-sources definitions, so I remove from all my ear files, the data-sources.xml file, and the tag in the orion-application.xml, I've deployed the apps, but I can't connect to de parent datasource, so..
    How can I configure my apps, to use the parent's data sources configurations?
    thnks in advance.
    Alex.

    You could also define a datasource for the OC4J instance. Then the apps deployed on it, can retrieve the datasource.
    Ronald

  • How to define data-sources-alias.xml to use Oracle data source

    Hi,
    I created Oracle jdbc Data Source named "MYDS" in Visual Admin.  I added the alias = MYDS_ALIAS.  I set the Initial Connection to 2.  On the Monitor tab, I see a green line running across the screen.  The datasource MYDS is connected to the Oracle.
    Now, I would like to define "data-sources-alias.xml" to use MYDS.
    When creating data-source-aliases.xml it creates the alias by default on ${com.sap.datasource.default} which is the default DB.
    I followed the link --> How to point data-source-aliases.xml to another Datasource
    and my data-sources-alias.xml is now:
    <data-source-aliases>
         <aliases>
              <data-source-name>$</data-source-name>
              <alias>BRANCH50DS</alias>
         </aliases>
    </data-source-aliases>
    The "EAR generatation has finished successfully", but when "Deploy to J2EE Engine", I got the error below:
    1) How to define data-sources-alias.xml to use Oracle data source?
    2) I found the link (SDA Deployment error) talking about "sda-dd.xml".  How to create "sda-dd.xml" and make it use substitution variables "MYDS"
    Dec 20, 2005 3:53:41 PM /userOut/deploy (com.sap.ide.eclipse.sdm.threading.DeployThreadManager) [Thread[Deploy Thread,5,main]] INFO:
    [003]Additional log information about the deployment
    <!LOGHEADER[START]/>
    <!HELP[Manual modification of the header may cause parsing problem!]/>
    <!LOGGINGVERSION[1.5.3.7181 - 630_SP]/>
    <!NAME[C:\usr\sap\J2E\JC00\SDM\program\log\sdmcl20051220205339.log]/>
    <!PATTERN[sdmcl20051220205339.log]/>
    <!FORMATTER[com.sap.tc.logging.TraceFormatter(%24d %s: %m)]/>
    <!ENCODING[Cp1252]/>
    <!LOGHEADER[END]/>
    Dec 20, 2005 3:53:39 PM  Info: -
    Starting deployment -
    Dec 20, 2005 3:53:39 PM  Info: Loading selected archives...
    Dec 20, 2005 3:53:39 PM  Info: Loading archive 'C:\usr\sap\J2E\JC00\SDM\program\temp\temp856850022Ear.ear'
    Dec 20, 2005 3:53:40 PM  Info: Selected archives successfully loaded.
    Dec 20, 2005 3:53:40 PM  Info: Actions per selected component:
    Dec 20, 2005 3:53:40 PM  Info: Update: Selected development component '50022Ear'/'sap.com'/'localhost'/'2005.12.20.15.53.28' updates currently deployed development component '50022Ear'/'sap.com'/'localhost'/'2005.12.19.18.39.12'.
    Dec 20, 2005 3:53:40 PM  Info: Saved current Engine state.
    Dec 20, 2005 3:53:40 PM  Info: Error handling strategy: OnErrorStop
    Dec 20, 2005 3:53:40 PM  Info: Update strategy: UpdateAllVersions
    Dec 20, 2005 3:53:40 PM  Info: Starting: Update: Selected development component '50022Ear'/'sap.com'/'localhost'/'2005.12.20.15.53.28' updates currently deployed development component '50022Ear'/'sap.com'/'localhost'/'2005.12.19.18.39.12'.
    Dec 20, 2005 3:53:40 PM  Info: SDA to be deployed: C:\usr\sap\J2E\JC00\SDM\root\origin\sap.com\50022Ear\localhost\2005.12.20.15.53.28\temp856850022Ear.ear
    Dec 20, 2005 3:53:40 PM  Info: Software type of SDA: J2EE
    Dec 20, 2005 3:53:40 PM  Info: ***** Begin of SAP J2EE Engine Deployment (J2EE Application) *****
    Dec 20, 2005 3:53:41 PM  Info: Begin of log messages of the target system:
    05/12/20 15:53:40 -  ***********************************************************
    05/12/20 15:53:41 -  Start updating EAR file...
    05/12/20 15:53:41 -  start-up mode is lazy
    05/12/20 15:53:41 -  com.sap.engine.deploy.manager.MissingSubstitutionException: Missing substitution value for variable [MYDS].
                              at com.sap.engine.deploy.manager.DeployManagerImpl.makeTempEar(DeployManagerImpl.java:3727)
                              at com.sap.engine.deploy.manager.DeployManagerImpl.makeNewEar1(DeployManagerImpl.java:3695)
                              at com.sap.engine.deploy.manager.DeployManagerImpl.deployUpdateAction(DeployManagerImpl.java:523)
                              at com.sap.engine.deploy.manager.DeployManagerImpl.update(DeployManagerImpl.java:512)
                              at com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnlineDeployerImpl.performDeployment(EngineApplOnlineDeployerImpl.java:196)
                              at com.sap.sdm.serverext.servertype.inqmy.extern.EngineDeployerImpl.deploy(EngineDeployerImpl.java:96)
                              at com.sap.sdm.serverext.servertype.inqmy.EngineProcessor.executeAction(EngineProcessor.java:224)
                              at com.sap.sdm.app.proc.deployment.impl.PhysicalDeploymentActionExecutor.execute(PhysicalDeploymentActionExecutor.java:60)
                              at com.sap.sdm.app.proc.deployment.impl.DeploymentActionImpl.execute(DeploymentActionImpl.java:186)
                              at com.sap.sdm.app.proc.deployment.controllers.internal.impl.DeploymentExecutorImpl.execute(DeploymentExecutorImpl.java:46)
                              at com.sap.sdm.app.proc.deployment.states.eventhandler.ExecuteDeploymentHandler.executeAction(ExecuteDeploymentHandler.java:83)
                              at com.sap.sdm.app.proc.deployment.states.eventhandler.ExecuteDeploymentHandler.handleEvent(ExecuteDeploymentHandler.java:60)
                              at com.sap.sdm.app.proc.deployment.states.StateBeforeNextDeployment.processEvent(StateBeforeNextDeployment.java:127)
                              at com.sap.sdm.app.proc.deployment.states.InstContext.processEventServerSide(InstContext.java:73)
                              at com.sap.sdm.app.proc.deployment.states.InstContext.processEvent(InstContext.java:59)
                              at com.sap.sdm.app.sequential.deployment.impl.DeployerImpl.doPhysicalDeployment(DeployerImpl.java:127)
                              at com.sap.sdm.app.sequential.deployment.impl.DeployerImpl.deploy(DeployerImpl.java:96)
                              at com.sap.sdm.apiimpl.local.DeployProcessorImpl.deploy(DeployProcessorImpl.java:67)
                              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                              at java.lang.reflect.Method.invoke(Method.java:324)
                              at com.sap.sdm.is.cs.remoteproxy.server.impl.RemoteProxyServerImpl.requestRemoteCall(RemoteProxyServerImpl.java:127)
                              at com.sap.sdm.is.cs.remoteproxy.server.impl.RemoteProxyServerImpl.process(RemoteProxyServerImpl.java:38)
                              at com.sap.sdm.apiimpl.remote.server.ApiClientRoleCmdProcessor.process(ApiClientRoleCmdProcessor.java:81)
                              at com.sap.sdm.is.cs.session.server.SessionCmdProcessor.process(SessionCmdProcessor.java:67)
                              at com.sap.sdm.is.cs.cmd.server.CmdServer.execCommand(CmdServer.java:76)
                              at com.sap.sdm.client_server.launch.ServerLauncher$ConnectionHandlerImpl.handle(ServerLauncher.java:280)
                              at com.sap.sdm.is.cs.ncserver.NetCommServer.serve(NetCommServer.java:43)
                              at com.sap.sdm.is.cs.ncwrapper.impl.ServiceWrapper.serve(ServiceWrapper.java:39)
                              at com.sap.bc.cts.tp.net.Worker.run(Worker.java:50)
                              at java.lang.Thread.run(Thread.java:534)
    05/12/20 15:53:41 -  ***********************************************************
    Dec 20, 2005 3:53:41 PM  Info: End of log messages of the target system.
    Dec 20, 2005 3:53:41 PM  Info: ***** End of SAP J2EE Engine Deployment (J2EE Application) *****
    Dec 20, 2005 3:53:41 PM  Error: Aborted: development component '50022Ear'/'sap.com'/'localhost'/'2005.12.20.15.53.28':
    Caught exception during application deployment from SAP J2EE Engine's deploy API:
    com.sap.engine.deploy.manager.MissingSubstitutionException: Missing substitution value for variable [MYDS].
    (message ID: com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnlineDeployerImpl.performAction(DeploymentActionTypes).DMEXC)
    Dec 20, 2005 3:53:41 PM  Info: J2EE Engine is in same state (online/offline) as it has been before this deployment process.
    Dec 20, 2005 3:53:41 PM  Error: -
    At least one of the Deployments failed -

    Hi,
    If you remove the $ and braces (as shown below) it will work.
    <data-source-aliases>
    <aliases>
    <data-source-name>MYDS</data-source-name>
    <alias>BRANCH50DS</alias>
    </aliases>
    </data-source-aliases>
    Regards,
    S.Divakar

  • CAF and custon data source in CE 7.2?

    Hello,
    is it in CE 7.20 possible to use the CAF Framerwork with a custom JDBC data source instead of the system data base?
    Best Regards
    Sebastian
    Edited by: Sebastian Lenk on Mar 2, 2011 5:25 PM

    Hi,
    in theory this should work because even SAP and CAF do not break the way Java EE handles database persistence, in practice it is very difficult, probably impossible.
    CAF generates something like a Java EE 5 application with JPA 1.0 persistency, so it is in principle unaware of a system datasource. If you look at src/META-INF/persistence.xml, you find a jta-datasource called SAP/CAF_RT which is an alias to system datasource. This persistence.xml is regenerated every time you generate your CAF app so your changes are lost.
    In NWA, you cannot change the alias SAP/CAF_RT to point to another JDBC Datasource (at least I did not manage it - getting an error message).
    And there are about 25 CAF*-tables in the schema of system datasource which CAF will probably need and maybe will expect in the same datasource as your app tables.
    In principle, you could try to create these CAF* tables in another database scheme and maybe it is somehow possible to let SAP/CAF_RT point to another data source by editing some of SAP's CAF ears, but this sounds experimental.
    So I am quite sure CAF only supports the system datasource. CAF was not invented to support agilty and degrees of freedom for the developer.
    Cheers
    --Rolf
    P.S. IMHO with EJB 3.x and JPA it is not a good idea to use CAF for persistence at all. With EJBs there is even no good reason to use for local apps at all. CAF was useful in times EJB 2.x where development of persitent classes took a lot of boilerplate code. SAP updated the framework towards  EJB 3 but kept the unflexible structure whereas with JPA 1.0 it is easy to learn and write @Entity, @Column, EntityManager.find or EntityManager.persist. E.g. the CAF way to handle relations between tables is a pain and the programming model with data access is outdated. And CAF way of model driven development is too unflexible to support an agile development process in 2011. So use CAF for small projects that will not increase.

  • 903/902/BC4J can't get OC4J data-sources.xml conn pooling to work in production: help

    [cross posted to the j2ee forum]
    I have several BC4J ears deployed to a 903 instance of OC4J being configured as a standalone
    instance. I've had this problem since I started deploying in development on 902. So it's
    some basic problem that I've not mastered.
    I can't get data-sources.xml managed connection pooling to actually pool conn's. I'm wanting
    to declare my jndi jdbc source connection pool in j2ee/home/config/data-sources.xml and
    have all BC4J apps get conns from this JNDI JDBC pool. I've removed all data-sources.xml from
    my BC4J ears, and published the jndi jdbc source in my oc4j common data-sources.xml.
    I've tested that this is the place controlling the conn URL/login passwd by commenting it
    out of config/data-sources.xml and my BC4J apps then throw exceptions, can't get conn.
    I've set the oc4j startup cmd line with the BC4J property to enabled connection pooling:
    -Djbo.doconnectionpooling=true
    symptom
    Connections are created and closed. Instead of being put back into the pool managed by oc4j,
    what ever BC4J is doing or my data-sources.xml is doing, the connections are just being created and
    closed.
    I can verify this via (solaris) lsof and netstat, where I see my oc4j instance under test load
    with only 1 or 2 conns to the db box, and the ephemeral port is tumbling, meaning a new socket is
    being opened for each conn. ;( grrrrrrr
    Does anyone have a clue as to why this is happening?
    Thanks, curt
    my data-sources.xml
    <data-sources>
         <data-source
            class="com.evermind.sql.DriverManagerDataSource"
            connection-driver="oracle.jdbc.driver.OracleDriver"
            ejb-location="jdbc/DEVDS"
            location="jdbc/DEVCoreDS"
            name="DEVDS"
            password="j2train"
            pooled-location="jdbc/DEVPooledDS"
            url="jdbc:oracle:thin:@10.2.1.30:1521:GDOC"
            username="jscribe"
            xa-location="jdbc/xa/DEVXADS"
            inactivity-timeout="300"
            max-connections="50"
            min-connections="40"
        />
    </data-sources>

    Thanks Leif,
    Yes, set it to the location jndi path.
    A piece of info is that the 903 oc4j release notes states that global conn pooling doesn't
    work. Infering that the j2ee/home/config/data-sources.xml data sources aren't pooled or ??
    I just tested so called local connection pooling, where I edited the data-sources.xml that
    gets packaged in the ear, to include the min/max params and re-ran my test.
    Still, the AM creates a new conn, it's to a new socket, and closes the conn when done. Causing
    each conn to not be pooled, rather opened then closed to the DB box. As verified with lsof and
    netstat, checking the ephemeral port # on the DB box side, always changes, meaning it's a
    new socket and not an old pooled conn socket.
    ???? What the heck??
    Surely if the AM conn check out / return code works properly, OC4J's pooling JDBC driver would
    pool and not close the socket??
    Has anywone gotten JDBC Datasource connections in BC4J to actually be pooled under OC4J??
    Since I couldn't get this to work in my early 902 oc4j testing, and now can't get it to work
    still under 903 OC4J, either it's my config or BC4J AM's code or OC4J?
    Any thoughts on how to figure out what's not configed correctly or has a bug?
    Thanks, curt

Maybe you are looking for

  • How can I create a jar file that will run automatically on double click

    all the jars I created run only from the command-line. how can I make it run by double-click on it?

  • Purchase Order Document type

    Hi I am trying to define new document type for Purchase Order. I am not able to understand the last step like link purchase requistion to document type. There are 2 columns Purchase Requistion =Reference Document and Purchase Requistion= Current Docu

  • Wont take CD's to burn or play

    Im having a problem with my Imac G5. It is taking CD's in through the slot at the side, makes a few noises and after a few minutes promplty spits it back out again. I've tried to burn a CD/DVD and its still spitting it out. Ive tried different CDs/DV

  • Imac intel 2 core duo running at 117 Fº. Is this healthy?

    my imac intel 2 core duo running at 117 Fº. Is this healthy? The fan speeds are ODD: 998 CPU: 1198 HDD: 1199.

  • Regarding the Summarization in Infospoke

    Hi Gurus, We are having 0ne Million Records in the Infocube,But once when we send the data through a logical file,when are getting only 2hundredthousand  records.Is The infospoke Summarizes the data in Badi.Please shed some Light on this issue. Thank