jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mil...@lidp.com
Subject Re: Database persistent storage
Date Fri, 16 Dec 2005 18:31:52 GMT
Edgar


	Ok here is what I have:

/home/milhri
/home/milhri/repotestdb
-rw-r--r--  1 milhri lidp  104 Dec 15 10:08 jaas.config
-rw-r--r--  1 milhri lidp 2031 Dec 16 11:53 repository.xml


	I can start from this point using one of my flat file jackrabbit
programs, and all is well, including the building of the workspaces
directory as you outline.  The only thing I change when trying the
database version is the repository.xml file.

	However, starting from the same place with my database version

/home/milhri
/home/milhri/repotestdb
-rw-r--r--  1 milhri lidp  104 Dec 15 10:08 jaas.config
-rw-r--r--  1 milhri lidp 2031 Dec 16 11:53 repository.xml


	I still get 

init >>>>>>>>>>>>org.apache.jackrabbit.core.config.ConfigurationException:
Replacement not found for ${wsp.name}.


	The exception occurs before a print statement in my init method, 
as I never see that.  

    try
    {
// Obtaining a Repository object with JNDI

      String configFile = "repotestdb/repository.xml";
      String repHomeDir = "repotestdb";

      Hashtable env = new Hashtable();
      env.put(Context.INITIAL_CONTEXT_FACTORY,
              "org.apache.jackrabbit.core.jndi" +
              ".provider.DummyInitialContextFactory");

      env.put(Context.PROVIDER_URL,"localhost");

      InitialContext ctx = new InitialContext(env);

      RegistryHelper.registerRepository(ctx,"repo",configFile,repHomeDir,true);

      Repository repository = (Repository)ctx.lookup("repo");

      System.out.println("1.  init()______________________________________________\n");


	Here is the repository.xml config file.


        <PersistenceManager class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
            <param name="driver" value="COM.ibm.db2.jdbc.app.DB2Driver"/>
            <param name="url" value="jdbc:db2:a2test"/>
            <param name="user" value="a2test"/>
            <param name="password" value="a2test"/>
            <param name="schema" value="mysql"/>
            <param name="schemaObjectPrefix" value="${wsp.name}_"/>
            <param name="externalBLOBs" value="false"/>
        </PersistenceManager>



Question:

Jackrabbit should be making the connection to the database, yes?  That
is, I don't have to do so explicitly in my program?



Thanks.





On Fri, Dec 16, 2005 at 02:43:03PM -0300, Edgar Poce wrote:
> Hi rick,
> 
> On 12/16/05, milhri@lidp.com <milhri@lidp.com> wrote:
> > Edgar
> >
> >         Here is where I am to date:
> >
> > /home/milhri/repotestdb
> >         jaas.config
> >         repository.xml
> >
> >     <Workspace name="${wsp.name}">
> ...
> >     </Workspace>
> 
> AFAIK the workspace part of the repository.xml[1] is used as a
> template to create the workspace.xml[2], which contains the workspace
> specific settings. Once you changed the repository.xml settings the
> existing workspaces configurations do not change. I'm not sure, but I
> think that might be the cause of your problem.
> 
> Try to remove every folder under the repository home ("repository" and
> "workspaces"), modify the repository.xml to match your db config and
> run jackrabbit. Jackrabbit should fill the ${xxx} variables for the
> default workspace or any other workspace you create.
> 
> hope this helps,
> edgar
> 
> [1] ${JACKRABBIT_HOME}/repository.xml
> [2] ${JACKRABBIT_HOME}/workspaces/${WORKSPACE_NAME}/workspace.xml
> 
> 
> 
> 
> >
> >
> >         I built a test program to exercise java.sql.DatabaseMetaData and
> > the connection utility I am using looks like
> >
> >       try
> >       {
> >          String driverStr = "jdbc:db2:"+dbname;
> >          Class driveClass = Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
> >          con = DriverManager.getConnection(driverStr, username, pwsd);
> >       }
> >
> > where dbname = "a2test", username = "a2test", and pwsd = "a2test".
> > My test program functions properly
> >
> >
> > e.g.
> >
> > /home/milhri/QueryDbMeta.java
> >
> > 1. ------------------------------------------
> > Database product name is DB2/6000
> >
> >
> > 2. ------------------------------------------
> > schema preferred term is schema
> >
> >
> > schemas available
> > A2TEST
> > NULLID
> > SQLJ
> > SYSCAT
> > SYSFUN
> > SYSIBM
> > SYSPROC
> > SYSSTAT
> > SYSTOOLS
> >
> > etc.
> >
> >         When I attempt to run my jackrabbit program, I get
> >
> > /home/milhri>java -Djava.security.auth.login.config==/home/milhri/repotestdb/jaas.config
JCRDbTest > testdb
> >
> > init >>>>>>>>>>>>org.apache.jackrabbit.core.config.ConfigurationException:
Replacement not found for ${wsp.name}.
> > checkRootNode >>>>>>>>>>>>java.lang.NullPointerException
> > createNamespace >>>>>>>>>>>>java.lang.NullPointerException
> > addContent >>>>>>>>>>>>java.lang.NullPointerException
> > browseContent >>>>>>>>>>>>java.lang.NullPointerException
> > browseAll >>>>>>>>>>>>java.lang.NullPointerException
> >
> >
> >         Any ideas why the ${wsp.name} is not found?
> >
> > Thanks.
> >
> >
> >
> > On Thu, Dec 15, 2005 at 09:42:28PM -0300, Edgar Poce wrote:
> > > Hi rick,
> > >
> > >  you can take a look to
> > > http://incubator.apache.org/jackrabbit/apidocs/org/apache/jackrabbit/core/state/db/SimpleDbPersistenceManager.html,
> > > it contains documentation and examples that will help you to configure your
> > > jdbc connection.
> > >
> > > br,
> > > edgar
> > >
> > > milhri@lidp.com wrote:
> > > >First time mailer...
> > > >
> > > >I have successfully downloaded Apache Jackrabbit, and
> > > >developed (from a variety of sources) a couple of working
> > > >repositories.  Further, I haven't added anything to the standard
> > > >configuration.
> > > >
> > > >e.g.
> > > >
> > > >/home/milhri
> > > >    JCRTest.java
> > > >    repotest
> > > >    JackTest.java
> > > >    repotest2
> > > >
> > > >/home/milhri/repotest2
> > > >    jaas.config
> > > >    repository
> > > >    repository.xml
> > > >    versions
> > > >    workspaces
> > > >
> > > >In both cases, I am using local flat files for persistent storage.
> > > >I need to demo persistent data storage in a database.
> > > >
> > > >Database server        = DB2/6000 8.2.1
> > > >
> > > >We currently use this database as persistent storage for a J2EE
> > > >application.
> > > >
> > > >Can someone lend assistance getting a similar example program to
> > > >persist data in the database above?
> > > >
> > > >Thanks.
> > > >
> > >
> >
> > --
> >                                             Sincerely,
> >
> >                                                Rick Milheron
> >                                                FLMI,ACS
> >                                                LIDP Consulting, Inc.
> >                                                Phone 630.829.7136
> >                                                milhri@lidp.com
> >                                                nihilum in temperantia
> >
> 

-- 
                                            Sincerely,

                                               Rick Milheron
                                               FLMI,ACS
                                               LIDP Consulting, Inc.
                                               Phone 630.829.7136
                                               milhri@lidp.com
                                               nihilum in temperantia

Mime
View raw message