You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Woonsan Ko (Jira)" <ji...@apache.org> on 2023/04/20 08:07:00 UTC
[jira] [Comment Edited] (JCR-4926) Support CUBRID database in Jackrabbit 2
[ https://issues.apache.org/jira/browse/JCR-4926?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17714475#comment-17714475 ]
Woonsan Ko edited comment on JCR-4926 at 4/20/23 8:06 AM:
----------------------------------------------------------
PR is ready for review: https://github.com/apache/jackrabbit/pull/131
I've tested it working fine in a simple CMS application configured like the following:
```
<!DOCTYPE Repository
PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN"
"http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
<Repository>
<DataSources>
<DataSource name="repositoryDS">
<param name="driver" value="javax.naming.InitialContext"/>
<param name="url" value="java:comp/env/jdbc/repositoryDS"/>
<param name="databaseType" value="cubrid"/>
</DataSource>
</DataSources>
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="dataSourceName" value="repositoryDS"/>
<param name="schemaObjectPrefix" value="repository_"/>
</FileSystem>
<Security appName="Jackrabbit">
<!-- SNIP -->
</Security>
<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
<Workspace name="${wsp.name}">
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="dataSourceName" value="repositoryDS"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
</FileSystem>
<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager">
<param name="dataSourceName" value="repositoryDS"/>
<param name="databaseType" value="cubrid"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
<param name="externalBLOBs" value="true"/>
<!-- SNIP -->
</PersistenceManager>
<!-- SNIP -->
</Workspace>
<Versioning rootPath="${rep.home}/version">
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="dataSourceName" value="repositoryDS"/>
<param name="schemaObjectPrefix" value="version_"/>
</FileSystem>
<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager">
<param name="dataSourceName" value="repositoryDS"/>
<param name="databaseType" value="cubrid"/>
<param name="schemaObjectPrefix" value="version_"/>
<param name="externalBLOBs" value="true"/>
<!-- SNIP -->
</PersistenceManager>
<!-- SNIP -->
</Versioning>
<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
<param name="dataSourceName" value="repositoryDS"/>
<param name="databaseType" value="cubrid"/>
<param name="minRecordLength" value="1024"/>
<param name="maxConnections" value="5"/>
<param name="copyWhenReading" value="true"/>
</DataStore>
<Cluster>
<Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
<param name="dataSourceName" value="repositoryDS"/>
<param name="databaseType" value="cubrid"/>
<param name="schemaObjectPrefix" value="repository_"/>
<param name="revision" value="${rep.home}/revision.log"/>
<!-- SNIP -->
</Journal>
</Cluster>
</Repository>
```
And JDBC setting example:
- driver: cubrid.jdbc.driver.CUBRIDDriver
- url: 'jdbc:CUBRID:localhost:33000:repodb:public::?charSet=utf-8'
- username: ''
- password: ''
was (Author: woonsan):
PR is ready for review: https://github.com/apache/jackrabbit/pull/131
I've tested it working fine in a simple CMS application configured like the following:
```
<!DOCTYPE Repository
PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN"
"http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
<Repository>
<DataSources>
<DataSource name="repositoryDS">
<param name="driver" value="javax.naming.InitialContext"/>
<param name="url" value="java:comp/env/jdbc/repositoryDS"/>
<param name="databaseType" value="cubrid"/>
</DataSource>
</DataSources>
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="dataSourceName" value="repositoryDS"/>
<param name="schemaObjectPrefix" value="repository_"/>
</FileSystem>
<Security appName="Jackrabbit">
<!-- SNIP -->
</Security>
<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
<Workspace name="${wsp.name}">
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="dataSourceName" value="repositoryDS"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
</FileSystem>
<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager">
<param name="dataSourceName" value="repositoryDS"/>
<param name="databaseType" value="cubrid"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
<param name="externalBLOBs" value="true"/>
<!-- SNIP -->
</PersistenceManager>
<!-- SNIP -->
</Workspace>
<Versioning rootPath="${rep.home}/version">
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="dataSourceName" value="repositoryDS"/>
<param name="schemaObjectPrefix" value="version_"/>
</FileSystem>
<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager">
<param name="dataSourceName" value="repositoryDS"/>
<param name="databaseType" value="cubrid"/>
<param name="schemaObjectPrefix" value="version_"/>
<param name="externalBLOBs" value="true"/>
<!-- SNIP -->
</PersistenceManager>
<!-- SNIP -->
</Versioning>
<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
<param name="dataSourceName" value="repositoryDS"/>
<param name="databaseType" value="cubrid"/>
<param name="minRecordLength" value="1024"/>
<param name="maxConnections" value="5"/>
<param name="copyWhenReading" value="true"/>
</DataStore>
<Cluster>
<Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
<param name="dataSourceName" value="repositoryDS"/>
<param name="databaseType" value="cubrid"/>
<param name="schemaObjectPrefix" value="repository_"/>
<param name="revision" value="${rep.home}/revision.log"/>
<!-- SNIP -->
</Journal>
</Cluster>
</Repository>
```
> Support CUBRID database in Jackrabbit 2
> ---------------------------------------
>
> Key: JCR-4926
> URL: https://issues.apache.org/jira/browse/JCR-4926
> Project: Jackrabbit Content Repository
> Issue Type: Improvement
> Components: clustering, jackrabbit-core, jackrabbit-data
> Reporter: Woonsan Ko
> Assignee: Julian Reschke
> Priority: Major
> Fix For: 2.22, 2.21.17
>
>
> In the region where I work, I see CUBRID database [1][2] being adopted, especially in the public sector. It seems like CUBRID is regarded as one of the OSS DBMS alternatives (with PostgreSQL and MariaDB) here.
> So I'd like to support the database in Jackrabbit 2 first and then maintain and port it to OAK later. (OSGi is not quite popular yet here.)
> Even if Cubrid is not as popular as other OSS projects, it might be helpful to support here.
> [1] https://en.wikipedia.org/wiki/CUBRID
> [2] https://www.cubrid.org/downloads
--
This message was sent by Atlassian Jira
(v8.20.10#820010)