Ok, i will trigger it :) . Btw. i switched from the derby persistance manager to the filesystem persictance manager. This works .
-------- Original-Nachricht -------- > Datum: Fri, 7 Aug 2009 10:02:41 +0200 > Von: Stefan Guggisberg <[email protected]> > An: [email protected] > Betreff: Re: unable to start repository because of missing DEFAULT_NAMES > table in derby backend > hi andreas > > On Thu, Aug 6, 2009 at 10:02 PM, Andreas Mucha<[email protected]> wrote: > > Hello , > > > > i try to start a jackrabbit repository. I use the 1.5.7 standalone jar. > > My code looks like this : > > > > Repository repository = new TransientRepository(); > > Session session = repository.login(); > > try > > { > > String user = session.getUserID(); > > String name = repository.getDescriptor(Repository.REP_NAME_DESC); > > System.out.println("Logged in as " + user + " to a " + name + > "repository."); > > } > > finally > > { > > session.logout(); > > } > > > > So if i run this, the initial default repository setup and file > > structure is created. I have a repository directory, repository.xml > > and the sub directories. > > The code above fails with the following exception : > > > > javax.jcr.RepositoryException: failed to instantiate shared item state > manager: failed to write bundle: cafebabe-cafe-babe-cafe-babecafebabe: > failed to write bundle: cafebabe-cafe-babe-cafe-babecafebabe > > at > org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doInitialize(RepositoryImpl.java:1881) > > at > org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:1834) > > at > org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:483) > > at > org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:324) > > at > org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:621) > > at > org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:235) > > at > org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:255) > > at > org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:323) > > at > org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:378) > > ... > > at java.lang.Thread.run(Thread.java:619) > > Caused by: org.apache.jackrabbit.core.state.ItemStateException: failed > to write bundle: cafebabe-cafe-babe-cafe-babecafebabe > > at > org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:544) > > at > org.apache.jackrabbit.core.state.SharedItemStateManager.createRootNodeState(SharedItemStateManager.java:1311) > > at > org.apache.jackrabbit.core.state.SharedItemStateManager.<init>(SharedItemStateManager.java:204) > > at > org.apache.jackrabbit.core.RepositoryImpl.createItemStateManager(RepositoryImpl.java:1317) > > at > org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doInitialize(RepositoryImpl.java:1863) > > ... 14 more > > > > I did not found any hint in the documentation. So i stepped through the > code. And i found that the following call fails : > > In class org.apache.jackrabbit.core.persistence.bundle.util.DbNameIndex > > in method getIndex(String) : > > > > protected int getIndex(String string) { > > try { > > Statement stmt = connectionManager.executeStmt( > > indexSelectSQL, new Object[] { string }); > > ResultSet rs = stmt.getResultSet(); > > try { > > if (rs.next()) { > > return rs.getInt(1); > > } else { > > return -1; > > } > > } finally { > > rs.close(); > > } > > } catch (Exception e) { > > IllegalStateException ise = new IllegalStateException( > > "Unable to read index for string: " + > string); > > ise.initCause(e); > > throw ise; > > } > > } > > > > The indexSelectSQL string is 'select ID from DEFAULT_NAMES where NAME = > ?'. > > The call fails with java.sql.SQLException: Table/View 'DEFAULT_NAMES' > does not exist. (btw. why is this not logged ???) > > good point. feel free to create a jira issue. and, of course, patches > are welcome! :) > > > So the big question is : How do i have to initialize the default > > derby instance correctly ??? Is there an init() to call or something > like that ? > > there's no need to setup/initialize the backend. that should be all > taken care of automatically. > > please create a jira issue and provide as much information as possible > (logs, environment, > steps to reproduce, etc). > > thanks > stefan > > > > > Many many thanks for help in advance . > > > > Andreas . > > > > -- > > GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! > > Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 > > -- Neu: GMX Doppel-FLAT mit Internet-Flatrate + Telefon-Flatrate für nur 19,99 Euro/mtl.!* http://portal.gmx.net/de/go/dsl02
