3 Replies Latest reply on Dec 4, 2013 1:20 AM by mail2gkishor

    Guvnor is not keeping assets in Database as said in Documentation. Its keeping in File System

    ahmedza

      Hi,

       

      I am working in Drools-Guvnor-5.5.0.Final version and have configured repository.xml to save all assets + indexes in oracle db. But its not working like that. I want to deploy guvnor in a resilliancy environment where primary and secondary guvnor nodes are pointing to the same DB instance. I deployed guvnor on primary node with repository.xml pointing to ORACLE DB and imported/created some assets. Then deployed secondary guvnor pointing to the same DB. I am not able to see the packages and assets I have in primary Guvnor node. I can see the tables created in DB.

       

       

      I am attaching the repository.xml configurations. In repository.xml I have configured the persistence manager defined in JackRabbit documentation for persistence of assets in db. While in repository-documentation.xml I have used the auto generated repository file. This I generated from Administration panel in Guvnor.

       

      DBs in both the config files are different but not to worry about that, I have been deploying using the DB mentioned in "repository.xml'

       

      Guvnor should not be keeping assets in Filesystem. Its required for Failover strategies to be keeping assets in DBs.

        • 1. Re: Guvnor is not keeping assets in Database as said in Documentation. Its keeping in File System
          ahmedza

          I have been able to see the packages but without assets in secondary server. While in primary server packages and assets both are visible. This happened when I configured the following,

           

          Configurations


          1. Configured DataStore in repository.xml.

           

          <Repository>

              <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">

                    <param name="driver" value="oracle.jdbc.OracleDriver"/>

                    <param name="url" value="jdbc:oracle:thin:@dolnxprodvm271:6516:wkflwop"/>

                    <param name="user" value="wkflw_ownr"/>

                    <param name="password" value="wkflw_ownr"/>

                    <param name="schema" value="oracle"/>

                    <param name="schemaObjectPrefix" value="FS_"/>

              </FileSystem>

          </Repository>

           



          <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>

               <Workspace name="${wsp.name}">

                  <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">

                     <param name="driver" value="oracle.jdbc.OracleDriver"/>

                     <param name="url" value="jdbc:oracle:thin:@dolnxprodvm271:6516:wkflwop"/>

                     <param name="user" value="wkflw_ownr"/>

                     <param name="password" value="wkflw_ownr"/>

                     <param name="schema" value="oracle"/>

                     <param name="schemaObjectPrefix" value="FS_WS_${wsp.name}_"/>

                   </FileSystem>

           

                   <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">

                     <param name="driver" value="oracle.jdbc.OracleDriver"/>

                     <param name="url" value="jdbc:oracle:thin:@dolnxprodvm271:6516:wkflwop"/>

                     <param name="user" value="wkflw_ownr"/>

                     <param name="password" value="wkflw_ownr"/>

                     <param name="schema" value="oracle"/>

                     <param name="tableSpace" value=""/>

                     <param name="externalBLOBs" value="false"/>

                    <param name="schemaObjectPrefix" value="PM_WS_${wsp.name}_" />

                   </PersistenceManager>

               </workspace>

          </workspaces>

           

          <Versioning rootPath="${rep.home}/version">
              <!--
                  Configures the filesystem to use for versioning for the respective
                  persistence manager
              -->

           

              <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
            <param name="driver" value="oracle.jdbc.OracleDriver"/>
                 <param name="url" value="jdbc:oracle:thin:@dolnxprodvm271:6516:wkflwop"/>
                 <param name="user" value="wkflw_ownr"/>
                 <param name="password" value="wkflw_ownr"/>
            <param name="schema" value="oracle"/>
            <param name="schemaObjectPrefix" value="Versioning_FS_"/>
          </FileSystem>

           

          <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
            <param name="driver" value="oracle.jdbc.OracleDriver"/>
                 <param name="url" value="jdbc:oracle:thin:@dolnxprodvm271:6516:wkflwop"/>
                 <param name="user" value="wkflw_ownr"/>
                 <param name="password" value="wkflw_ownr"/>
            <param name="schema" value="oracle"/>
            <param name="tableSpace" value=""/>
                 <param name="externalBLOBs" value="false"/>
            <param name="schemaObjectPrefix" value="Versioning_PM_" />
          </PersistenceManager>

           

           

          </Versioning>

           

           

          <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
              <param name="url" value="jdbc:oracle:thin:@dolnxprodvm271:6516:wkflwop"/>
              <param name="user" value="wkflw_ownr"/>
              <param name="password" value="wkflw_ownr"/>
              <param name="databaseType" value="oracle"/>
              <param name="driver" value="oracle.jdbc.OracleDriver"/>
              <param name="minRecordLength" value="1024"/>
              <param name="maxConnections" value="3"/>
              <param name="copyWhenReading" value="true"/>
              <param name="tablePrefix" value=""/>
              <param name="schemaObjectPrefix" value="ds_"/>
          </DataStore>

           

          2. Configured workspace.xml file in the following paths. (Latest file attached)

               a. jboss-eap-6.0/bin/repository/workspaces/default

               b. jboss-eap-6.0/bin/repository/workspaces/security

           

          <Workspace name="default">

              <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">

                <param name="driver" value="oracle.jdbc.OracleDriver"/>

                     <param name="url" value="jdbc:oracle:thin:@dolnxprodvm271:6516:wkflwop"/>

                     <param name="user" value="wkflw_ownr"/>

                     <param name="password" value="wkflw_ownr"/>

                <param name="schema" value="oracle"/>

                <param name="schemaObjectPrefix" value="FS_WS_${wsp.name}_"/>

              </FileSystem>

           

              <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.OraclePersistenceManager">

                <param name="driver" value="oracle.jdbc.OracleDriver"/>

                     <param name="url" value="jdbc:oracle:thin:@dolnxprodvm271:6516:wkflwop"/>

                     <param name="user" value="wkflw_ownr"/>

                     <param name="password" value="wkflw_ownr"/>

                <param name="schema" value="oracle"/>

                <param name="tableSpace" value=""/>

                     <param name="externalBLOBs" value="false"/>

                <param name="schemaObjectPrefix" value="PM_WS_${wsp.name}_" />

              </PersistenceManager>

          </Workspace>

          • 2. Re: Guvnor is not keeping assets in Database as said in Documentation. Its keeping in File System
            ahmedza

            I got it working by configuring JackRabbit Cluster. I also configured DataStore in Guvnor's repository.xml.

            • 3. Re: Guvnor is not keeping assets in Database as said in Documentation. Its keeping in File System
              mail2gkishor

              HI Zahid,

              I have implemented guvnor 5.5 in my application, I will be using guvnor as a repository for rules(spreadsheets) and deployed in Tomcat6. For authentication we are using LDAP and Oracle 11g as database repository.

              I have followed the documentation and did the setup. Can you please share some tips, best practices for performance and memory which you followed while doing this .And I want to know where and all we can use property files for using in multiple environment. I am pretty new to this so your suggestions will be more value added to me. Thank you so much in advance.

              Regards,

                Kishore