hi rick i guess you will have to do some debugging ;) first of all we need to know at which location in SimpleDbPersistenceManager the exception is thrown. a full stack trace would be ideal. what sql stmt caused the exception? etc etc
set breakpoints in the follwing methods of SimpleDbPersistenceManager: #store(NodeState) #store(PropertyState) and step through the code. also provide complete repository.xml *and* workspace.xml. cheers stefan On 12/16/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > Edgar et.al. > > > Status report on DB2 persistent storage. Have a problem with > keys, I think. > > 1. > > Beginning from > > /home/milhri/repotestdb > jaas.config > repository.xml > > <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="derby"/> > <param name="schemaObjectPrefix" value="${wsp.name}_"/> > <param name="externalBLOBs" value="false"/> > </PersistenceManager > > Executed program, got exception > > org.apache.jackrabbit.core.config.ConfigurationException: Replacement > not found for ${wsp.name} > > > 2. > > Hardcoded all ${wsp.name} to 'default', executed program. > > Got an error from db2 indicating columns were in excess of 1024. > > (Can provide more complete information if someone wants it). > > 3. > > Checked manual found that columns are max 1024 plus overhead. > > Made a new .ddl 'db2.ddl' where > > create table ${schemaObjectPrefix}PROP (PROP_ID varchar(1000) > create table ${schemaObjectPrefix}BINVAL (BINVAL_ID varchar(1000) > > Changed repository.xml > > <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="db2"/> > <param name="schemaObjectPrefix" value="default_"/> > <param name="externalBLOBs" value="false"/> > </PersistenceManager> > > 4. > > Executed program, got > > init >>>>>>>>>>>>javax.jcr.RepositoryException: /: unable to update > item.: failed to write property state: > deadbeef-face-babe-cafe-babecafebabe/{http://www.jcp.org/jcr/1.0}primaryType: > [IBM][CLI Driver][DB2/6000] SQL0803N One or more values in the INSERT > statement, UPDATE statement, or foreign key update caused by a DELETE > statement are not valid because the primary key, unique constraint or > unique index identified by "1" constrains table "A2TEST.DEFAULT_PROP" > from having duplicate rows for those columns. SQLSTATE=23505 > : failed to write property state: > deadbeef-face-babe-cafe-babecafebabe/{http://www.jcp.org/jcr/1.0}primaryType: > [IBM][CLI Driver][DB2/6000] SQL0803N One or more values in the INSERT > statement, UPDATE statement, or foreign key update caused by a DELETE > statement are not valid because the primary key, unique constraint or > unique index identified by "1" constrains table "A2TEST.DEFAULT_PROP" > from having duplicate rows for those columns. SQLSTATE=23505 > > Directory structure looks like > > /home/milhri/repotestdb > jaas.config > repository > meta > rep.properties > rootUUID > namespaces > ns_reg.properties > nodetypes > repository.xml > versions > workspaces > default > workspace.xml > > > Tables are created > > Database product name is DB2/6000 > > > Schema A2TEST Table DEFAULT_BINVAL Column BINVAL_ID > Schema A2TEST Table DEFAULT_BINVAL Column BINVAL_DATA > Schema A2TEST Table DEFAULT_NODE Column NODE_ID > Schema A2TEST Table DEFAULT_NODE Column NODE_DATA > Schema A2TEST Table DEFAULT_PROP Column PROP_ID > Schema A2TEST Table DEFAULT_PROP Column PROP_DATA > Schema A2TEST Table DEFAULT_REFS Column NODE_ID > Schema A2TEST Table DEFAULT_REFS Column REFS_DATA > > And have some entries > > db2 "select * from DEFAULT_NODE" > > NODE_ID NODE_DATA > ------------------------------------ ------------------------------- > deadbeef-face-babe-cafe-babecafebabe x'00187B696E7465726E616C7D76657 > cafebabe-cafe-babe-cafe-babecafebabe x'000E7B696E7465726E616C7D726F6 > > > db2 "select * from DEFAULT_PROP" > > PROP_ID > ---------------------------------------------------------------------------- > deadbeef-face-babe-cafe-babecafebabe/{http://www.jcp.org/jcr/1.0}primaryType > cafebabe-cafe-babe-cafe-babecafebabe/{http://www.jcp.org/jcr/1.0}primaryType > > PROP_DATA > -------------------------------------------------------------------------- > x'0000000700000A31323636363637313430000000000001000000187B696E7465726E61 > x'0000000700000A313236363636373134300000000000010000000E7B696E7465726E61 > > > db2 "select * from DEFAULT_REFS" > > NODE_ID REFS_DATA > ------------------------------------ -------------------------------------- > 0 record(s) selected. > > > db2 "select * from DEFAULT_BINVAL" > > BINVAL_ID BINVAL_DATA > ----------------------------------- -------------------------------------- > 0 record(s) selected. > > > > On Fri, Dec 16, 2005 at 02:43:03PM -0300, Edgar Poce wrote: > > Hi rick, > > > > On 12/16/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> 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 > > > > > > > > [EMAIL PROTECTED] 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 > > > [EMAIL PROTECTED] > > > nihilum in temperantia > > > > > > > -- > Sincerely, > > Rick Milheron > FLMI,ACS > LIDP Consulting, Inc. > Phone 630.829.7136 > [EMAIL PROTECTED] > nihilum in temperantia >