के साथ अपाचे जैकबैबिट वर्तमान में हमारे ओरेकल डीबी के साथ अपाचे जैकबिट का उपयोग करके मूल्यांकन के शुरुआती चरण में। repository.xml विन्यास की प्रारंभिक सेटअप का परीक्षण जब यह त्रुटि मिलती,:रूट नोड बंडल पर अद्वितीय प्रतिबंध उल्लंघन, ओरेकल
15:18:32.281 [main] ERROR o.a.j.c.p.p.BundleDbPersistenceManager - FATAL error while writing the bundle: deadbeef-cafe-babe-cafe-babecafebabe
java.sql.SQLException: ORA-00001: unique constraint (REPO_BUNDLE_IDX) violated
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:113) ~[ojdbc14-10.2.0.4.jar:Oracle JDBC Driver version - "10.2.0.5.0"]
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) ~[ojdbc14-10.2.0.4.jar:Oracle JDBC Driver version - "10.2.0.5.0"]
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288) ~[ojdbc14-10.2.0.4.jar:Oracle JDBC Driver version - "10.2.0.5.0"]
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:754) ~[ojdbc14-10.2.0.4.jar:Oracle JDBC Driver version - "10.2.0.5.0"]
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219) ~[ojdbc14-10.2.0.4.jar:Oracle JDBC Driver version - "10.2.0.5.0"]
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:972) ~[ojdbc14-10.2.0.4.jar:Oracle JDBC Driver version - "10.2.0.5.0"]
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1192) ~[ojdbc14-10.2.0.4.jar:Oracle JDBC Driver version - "10.2.0.5.0"]
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3415) ~[ojdbc14-10.2.0.4.jar:Oracle JDBC Driver version - "10.2.0.5.0"]
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3521) ~[ojdbc14-10.2.0.4.jar:Oracle JDBC Driver version - "10.2.0.5.0"]
at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172) ~[commons-dbcp-1.3.jar:1.3]
at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172) ~[commons-dbcp-1.3.jar:1.3]
at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172) ~[commons-dbcp-1.3.jar:1.3]
at org.apache.jackrabbit.core.util.db.ConnectionHelper.execute(ConnectionHelper.java:515) ~[jackrabbit-data-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.util.db.ConnectionHelper.reallyUpdate(ConnectionHelper.java:344) ~[jackrabbit-data-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.util.db.ConnectionHelper$2.call(ConnectionHelper.java:331) ~[jackrabbit-data-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.util.db.ConnectionHelper$2.call(ConnectionHelper.java:327) ~[jackrabbit-data-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.util.db.ConnectionHelper$RetryManager.doTry(ConnectionHelper.java:536) ~[jackrabbit-data-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.util.db.ConnectionHelper.update(ConnectionHelper.java:327) ~[jackrabbit-data-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.storeBundle(BundleDbPersistenceManager.java:950) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.putBundle(AbstractBundlePersistenceManager.java:800) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.storeInternal(AbstractBundlePersistenceManager.java:715) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.store(AbstractBundlePersistenceManager.java:593) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:482) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.state.SharedItemStateManager.createRootNodeState(SharedItemStateManager.java:1725) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.state.SharedItemStateManager.<init>(SharedItemStateManager.java:217) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.RepositoryImpl.createItemStateManager(RepositoryImpl.java:1396) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doInitialize(RepositoryImpl.java:2062) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:2035) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:543) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:326) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:615) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.TransientRepository$3.getRepository(TransientRepository.java:250) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:280) [jackrabbit-core-2.12.4.jar:2.12.4]
at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:376) [jackrabbit-core-2.12.4.jar:2.12.4]
डिबगिंग, मैं देख सकता है कि यह शुरू में जाँच करता है, तो इस बंडल - System Root Node
- मौजूद है, और यह पहले से ही मिल रहा है डेटाबेस में है, लेकिन फिर Root Node
डालने का प्रयास करते समय, जो डीबी में नहीं है, फिर यह System Root Node
को फिर से सम्मिलित करने का प्रयास करता है, जहां यह बाधा उल्लंघन को हिट करता है।
Map<String, String> props = new HashMap<>();
props.put(RepositoryFactoryImpl.REPOSITORY_HOME, "jackrabbit");
props.put(RepositoryFactoryImpl.REPOSITORY_CONF, "classpath:jackrabbit/repository.xml");
Repository repository = JcrUtils.getRepository(props);
repository.login(new SimpleCredentials("admin", "admin".toCharArray()));
और मेरे repository.xml:
<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
<param name="url" value="jdbc:oracle:thin:@mydb:1521:XE"/>
<param name="user" value="myuser"/>
<param name="password" value="mypassword"/>
<param name="schemaObjectPrefix" value="REPO_"/>
<param name="schemaCheckEnabled" value="false"/>
</FileSystem>
<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
<param name="url" value="jdbc:oracle:thin:@mydb:1521:XE"/>
<param name="user" value="myuser"/>
<param name="password" value="mypassword"/>
<param name="databaseType" value="oracle"/>
<param name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<param name="schemaObjectPrefix" value="REPO_"/>
<param name="schemaCheckEnabled" value="false"/>
</DataStore>
<Security appName="Jackrabbit">
<SecurityManager class="org.apache.jackrabbit.core.security.simple.SimpleSecurityManager"
workspaceName="security"/>
<AccessManager class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager"/>
<LoginModule class="org.apache.jackrabbit.core.security.simple.SimpleLoginModule"/>
</Security>
<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="ContentRepo"/>
<Workspace name="ContentRepo">
<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
<param name="url" value="jdbc:oracle:thin:@mydb:1521:XE"/>
<param name="user" value="myuser"/>
<param name="password" value="mypassword"/>
<param name="schemaObjectPrefix" value="REPO_"/>
<param name="schemaCheckEnabled" value="false"/>
</FileSystem>
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
<param name="url" value="jdbc:oracle:thin:@mydb:1521:XE"/>
<param name="user" value="myuser"/>
<param name="password" value="mypassword"/>
<param name="schemaObjectPrefix" value="REPO_"/>
<param name="schemaCheckEnabled" value="false"/>
</PersistenceManager>
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${rep.home}/index"/>
<param name="textFilterClasses" value="org.apache.jackrabbit.extractor.PlainTextExtractor,org.apache.jackrabbit.extractor.MsWordTextExtractor,org.apache.jackrabbit.extractor.MsExcelTextExtractor,org.apache.jackrabbit.extractor.MsPowerPointTextExtractor,org.apache.jackrabbit.extractor.PdfTextExtractor,org.apache.jackrabbit.extractor.OpenOfficeTextExtractor,org.apache.jackrabbit.extractor.RTFTextExtractor,org.apache.jackrabbit.extractor.HTMLTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
<param name="extractorPoolSize" value="2"/>
<param name="supportHighlighting" value="true"/>
</SearchIndex>
</Workspace>
<Versioning rootPath="${rep.home}/version">
<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
<param name="url" value="jdbc:oracle:thin:@mydb:1521:XE"/>
<param name="user" value="myuser"/>
<param name="password" value="mypassword"/>
<param name="schemaObjectPrefix" value="REPO_"/>
<param name="schemaCheckEnabled" value="false"/>
</FileSystem>
<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.OraclePersistenceManager">
<param name="url" value="jdbc:oracle:thin:@mydb:1521:XE"/>
<param name="user" value="myuser"/>
<param name="password" value="mypassword"/>
<param name="schemaObjectPrefix" value="REPO_"/>
<param name="schemaCheckEnabled" value="false"/>
</PersistenceManager>
</Versioning>
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${rep.home}/repository/index"/>
<param name="textFilterClasses" value="org.apache.jackrabbit.extractor.PdfTextExtractor,org.apache.jackrabbit.extractor.OpenOfficeTextExtractor,org.apache.jackrabbit.extractor.RTFTextExtractor,org.apache.jackrabbit.extractor.HTMLTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
<param name="extractorPoolSize" value="2"/>
<param name="supportHighlighting" value="true"/>
</SearchIndex>
<Cluster>
<Journal class="org.apache.jackrabbit.core.journal.OracleDatabaseJournal">
<param name="url" value="jdbc:oracle:thin:@mydb:1521:XE"/>
<param name="user" value="myuser"/>
<param name="password" value="mypassword"/>
<param name="schemaObjectPrefix" value="REPO_"/>
<param name="schemaCheckEnabled" value="false"/>
</Journal>
</Cluster>
संस्करण: Oracle 11.2.0
Java 8
Apache Jackrabbit 2.12.4
किसी भी
इस कोड मैं भंडार उदाहरण बनाने के लिए उपयोग कर रहा हूँ है मदद की सराहना की है।