Hi all,

I have the following problem:

We use OJB 1.0.1 in a web-app under JBOSS 3.2.6 and with Oracle 9i.
If I pack repository.xml into the war-File, all works fine.

But in production the database-settings are changed one or two times a
year. For example, if they change the password of the db-user, which we use
to connect, we have to change and deploy the web-app.

Therefore the production requires, that all database-configuration have to
be outside of the jars, ears, wars etc.
But if I copy repository.xml to a folder, which is in classpath of JBOSS,
but outside of the app-war-File, OJB does not find the connection-settings.

Which changes have to be made in repository.xml in this case ?

My repository.xml looks like that (all xml-file-contents are copied into
this file because our xmlparser in JBOSS does resolve the placeholders):

............................

<descriptor-repository isolation-level="read-uncommitted"
    proxy-prefetching-limit="50" version="1.0">

    <!-- include all used database connections -->
<jdbc-connection-descriptor
      jcd-alias="xsrace00"
      default-connection="false"
      platform="Oracle"
      jdbc-level="2.0"
      driver="oracle.jdbc.driver.OracleDriver"
      protocol="jdbc"
      subprotocol="oracle:oci8"
      dbalias="@VDEV"
      username="CPT"
      password="CPT"
    eager-release="false"
    batch-mode="false"
    useAutoCommit="1"
    ignoreAutoCommitExceptions="false"
>

    <object-cache
class="org.apache.ojb.broker.cache.ObjectCacheEmptyImpl"/>

      <connection-pool maxActive="21" validationQuery="" />

      <sequence-manager
className="org.apache.ojb.broker.util.sequence.SequenceManagerNextValImpl">
          <attribute attribute-name="autoNaming" attribute-value="true"/>
      </sequence-manager>

</jdbc-connection-descriptor>

<jdbc-connection-descriptor
      jcd-alias="xsvgnp01"
      default-connection="false"
      platform="Oracle"
      jdbc-level="2.0"
      driver="oracle.jdbc.driver.OracleDriver"
      protocol="jdbc"
      subprotocol="oracle:oci8"
      dbalias="@VPROD"
      username="CPT"
      password="CPT"
    eager-release="false"
    batch-mode="false"
    useAutoCommit="1"
    ignoreAutoCommitExceptions="false"
>

    <object-cache
class="org.apache.ojb.broker.cache.ObjectCacheEmptyImpl"/>

      <connection-pool maxActive="21" validationQuery="" />

      <sequence-manager
className="org.apache.ojb.broker.util.sequence.SequenceManagerNextValImpl">
          <attribute attribute-name="autoNaming" attribute-value="true"/>
      </sequence-manager>

</jdbc-connection-descriptor>

    <!-- include ojb internal mappings here -->
    <!-- OJB INTERNAL MAPPINGS START HERE, DO NOT EDIT -->

..............

and my OJB.properties-File looks like that:

.................................
#----------------------------------------------------------------------------------------
# repository file settings
#----------------------------------------------------------------------------------------
# The repositoryFile entry tells OJB to use this file as as its standard
mapping
# repository. The file is looked up from the classpath.
#
repositoryFile=repository.xml
#
# If the useSerializedRepository entry is set to true, OJB tries to load a
# serialized version of the repository for performance reasons.
...................................

Please help.

Thanks in advance for your support.

Regards,

Christine

Reply via email to