Using the JCR import/export feature to make copies of your repository
works, but is really not the best solution, as you loose all repository
metadata information such as asset version info, discussion comments, etc.
If you use Jackrabbit as your JCR implementation, drools-ant has a
migration task (more info and a video here:
http://blog.athico.com/2011/03/using-drools-ant-to-migrateback-up.html)
which allows you to make a complete copy of your JCR repository no
matter if you use the filesystem or an RDBMS to store the JCR
repository. In any production environment I would recommend using the
ant task over the xml-based import/export any day.
When you configure jackrabbit in repository.xml, you will still see it
create the repository directory. This is because Lucene search indexes
cannot be persisted to a db. It is safe to delete this directory, as it
will be re-created on consequent Guvnor restarts.
Modeshape is definitely a possibly alternative to the default Jackrabbit
jcr implementation that Guvnor uses, however it is still in it's early
stages, and afaik is not yet ready to be considered a viable
alternative. This should change in the near future I think.
To the question: Guvnor looks up the location of the repository on
startup. The location is defined in
$drools-guvnor-war/WEB-INF/components.xml:
<!-- JackRabbit -->
<property name="properties">
<key>org.drools.repository.configurator</key><value>org.drools.repository.jackrabbit.JackrabbitRepositoryConfigurator</value>
<!-- the root directory for the repo storage the directory must exist. -->
<!--
<key>repository.root.directory</key><value>/path/to/directory/containing/repositoryconfig</value>
-->
</property>
By default, if the repository.root.directory is not specified, a
repository.xml fill be created in your $jboss_as/bin directory on first
guvnor startup. If one already exists there, Jackrabbit will pick it up.
Typically in a prod environment you would want to change the default
location on your repository.xml. In this case, when you deploy a new
Guvnor war, you need to change the location to your repository.xml here
again, otherwise your $jboss_as/bin directory (default) will be used.
Yes, Jackrabbit will create all tables/indexes/triggers in your RDBMS,
what you need to make sure however in the repository.xml configuration
is that the db schema you define exists, and that the user you define in
the config has read+write permissions onto that db schema.
Hope this helps.
On 9/4/11 2:15 PM, Nicolas Héron wrote:
Hi,
Guvnor stores everything in the database.
The directories workspace and repository are for the lucene indexes
used by jackrabbit.
The best thing when you move guvnor from one database to another is to
use the export/import function that will work even if you export from
one type of database to another type of database. It is how I do in my
projects.
After importing, il may be necessary to delete those two directories
as sometimes jackrabbit (which is behind guvnor to store the assets)
does not update the index correctly. Yes it is normal and a good
practice when you install guvnor to a new server.
Now if you are using jboss 5 or 6, modeshape may be a good candidate
also in replacement of Jackrabbit. But I have never used Modeshape (my
customer are using jboss 4 or apache tomcat, etc..)
Now are you using the community version ? The question you ask is
typically one that you would ask to a professional support.
Regards
Nicolas Heron
2011/9/4 puja nandamuri <med_9501(a)yahoo.com <mailto:med_9501@yahoo.com>>
Hi All,
we are currently using SQLServer as the database repository for
Guvnor 5.2.0.CR1
Can somone throw some light on how the database is used by Guvnor
in the following scenario?
the first time we deploy Guvnor,we create an empty database and
let Guvnor create the necessary Table and other structures
necessary for it to save and load assets .
assuming that Guvnor creates the required structures such as
Tables etc during the first deploy and may not need to create any
further tables , we lock down the database from creating any
further tables. Guvnor works fine for all subsequent rules
creation and save.
we had to redeploy Guvnor a second time without changing anything
with respect to the database.we however, had to delete the
existing workspace and repository directories created on local
file system to let Guvnor create them afresh.
the expectation is that Guvnor will read the assets from the
existing database and create new repository and workspace
directories on file system .
Guvnor threw errors saying
Caused By: java.sql.SQLException: [OWLS][SQLServer JDBC
Driver][SQLServer]CREATE TABLE permission denied in database
'GuvnorRules'.
does Guvnor create new Tables everytime we deploy a fresh instance
of Guvnor to weblogic ?
or is it the way that I have generated my repository.xml that is
causing Guvnor to create new tables to save non asset related data
such as indexing etc?
I have attached a sample of my repository.xml for reference.
I appreciate your thoughts and feedback.
Thanks,
Ram
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org <mailto:rules-users@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users