05-05-2020 09:46 AM
I tried to configure separate repositories for encrypted and non-encrypted documents. I managed to do save documents in respective repositories as well but the URL received by Nuxeo after creation show 'default' repository only.
Here, in the above link I am still getting 'defalut' as repository name.
Below the changes I did.
nuxeo.db.xaMode=true
<?xml version="1.0"?>
<component name="datasources-encrypted-config">
<extension target="org.nuxeo.runtime.datasource" point="datasources">
<datasource name="jdbc/repository_encrypted" driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/sboot" username="sboot" password="sboot"
maxPoolSize="100"
minPoolSize="5"
blockingTimeoutMillis="1000"
idleTimeoutMinutes="5"
activeTimeoutMinutes="0"
sqlExceptionSorter="org.nuxeo.runtime.datasource.DatasourceExceptionSorter"
validationQuery=""
accessToUnderlyingConnectionAllowed="true" />
<link name="jdbc/NuxeoDS" global="jdbc/nuxeo" type="javax.sql.DataSource" />
<link name="jdbc/nxsqldirectory" global="jdbc/nuxeo" type="javax.sql.DataSource" />
<link name="jdbc/nxrelations-default-jena" global="jdbc/nuxeo" type="javax.sql.DataSource" />
<link name="jdbc/comment-relations" global="jdbc/nuxeo" type="javax.sql.DataSource" />
<link name="jdbc/nxaudit-logs" global="jdbc/nuxeo" type="javax.sql.DataSource" />
<link name="jdbc/nxjbpm" global="jdbc/nuxeo" type="javax.sql.DataSource" />
<link name="jdbc/placeful_service_ds" global="jdbc/nuxeo" type="javax.sql.DataSource" />
<link name="jdbc/nxwebwidgets" global="jdbc/nuxeo" type="javax.sql.DataSource" />
<link name="jdbc/nxuidsequencer" global="jdbc/nuxeo" type="javax.sql.DataSource" />
<link name="jdbc/keyvaluestore" global="jdbc/nuxeo" type="javax.sql.DataSource" />
<link name="jdbc/repository_default" global="jdbc/nuxeo" type="javax.sql.DataSource" />
</extension>
</component>
<#escape x as x?xml>
<?xml version="1.0"?>
<component name="encrypted-repository-config">
<extension target="org.nuxeo.ecm.core.blob.BlobManager" point="configuration">
<blobprovider name="encrypted">
<class>org.nuxeo.ecm.core.blob.binary.AESBinaryManager</class>
<property name="path">binaries-encrypted</property>
</blobprovider>
</extension>
<#if "${nuxeo.mongodb.server}" == "">
<extension target="org.nuxeo.ecm.core.storage.sql.RepositoryService"
point="repository">
<repository name="encrypted" label="label.encrypted.repository" factory="org.nuxeo.ecm.core.storage.sql.ra.PoolingRepositoryFactory">
<pool minPoolSize="${nuxeo.vcs["min-pool-size"]}" maxPoolSize="${nuxeo.vcs["max-pool-size"]}"
blockingTimeoutMillis="${nuxeo.vcs["blocking-timeout-millis"]}"
idleTimeoutMinutes="${nuxeo.vcs["idle-timeout-minutes"]}"
activeTimeoutMinutes="${nuxeo.vcs["active-timeout-minutes"]}" />
<clustering id="${repository.clustering.id}" enabled="${repository.clustering.enabled}" delay="${repository.clustering.delay}" />
<clusterInvalidatorClass>org.nuxeo.ecm.core.storage.sql.VCSPubSubInvalidator</clusterInvalidatorClass>
<noDDL>${nuxeo.vcs.noddl}</noDDL>
<ddlMode>${nuxeo.vcs.ddlmode}</ddlMode>
<aclOptimizations enabled="${nuxeo.vcs.optimizations.acl.enabled}"/>
<pathOptimizations enabled="${nuxeo.vcs.optimizations.path.enabled}"/>
<idType>${nuxeo.vcs.idtype}</idType>
<changeTokenEnabled>${nuxeo.changetoken.enabled}</changeTokenEnabled>
<indexing>
<#if "${nuxeo.db.type}" == "postgresql">
<fulltext disabled="${nuxeo.vcs.fulltext.disabled}" searchDisabled="${nuxeo.vcs.fulltext.search.disabled}"
analyzer="${nuxeo.vcs.fulltext.analyzer.language}">
<index name="default">
<!-- all props implied -->
</index>
<index name="title">
<field>dc:title</field>
</index>
<index name="description">
<field>dc:description</field>
</index>
</fulltext>
<#elseif "${nuxeo.db.type}" == "oracle">
<fulltext disabled="${nuxeo.vcs.fulltext.disabled}" searchDisabled="${nuxeo.vcs.fulltext.search.disabled}">
<index name="default">
<!-- all props implied -->
</index>
<index name="title">
<field>dc:title</field>
</index>
<index name="description">
<field>dc:description</field>
</index>
</fulltext>
<!--
For Oracle (Oracle Text indexing parameters):
<fulltext analyzer="LEXER MY_LEXER"/>
See doc at:
http://jira.nuxeo.org/browse/NXP-4035
http://download.oracle.com/docs/cd/B19306_01/text.102/b14218/cdatadic.htm
-->
<#elseif "${nuxeo.db.type}" == "mssql">
<fulltext disabled="${nuxeo.vcs.fulltext.disabled}" searchDisabled="${nuxeo.vcs.fulltext.search.disabled}"
analyzer="${nuxeo.vcs.fulltext.analyzer.language}">
<index name="default">
<!-- all props implied -->
</index>
<!-- SQL Server does not support more than one fulltext index per
table: to add support for multiple fulltext index would required to
change the datamodel of VCS -->
</fulltext>
<#elseif "${nuxeo.db.type}" == "mysql">
<!-- For MySQL -->
<fulltext disabled="${nuxeo.vcs.fulltext.disabled}" searchDisabled="${nuxeo.vcs.fulltext.search.disabled}">
<index name="default">
<!-- all props implied -->
</index>
<index name="title">
<field>dc:title</field>
</index>
<index name="description">
<field>dc:description</field>
</index>
</fulltext>
<#else>
<!-- for H2 (Lucene Analyzer): -->
<fulltext disabled="${nuxeo.vcs.fulltext.disabled}" searchDisabled="${nuxeo.vcs.fulltext.search.disabled}" analyzer="org.apache.lucene.analysis.standard.StandardAnalyzer">
<index name="default">
<!-- all props implied -->
</index>
<index name="title">
<field>dc:title</field>
</index>
<index name="description">
<field>dc:description</field>
</index>
</fulltext>
</#if>
</indexing>
<#if "${nuxeo.db.type}" != "mysql">
<usersSeparator key="${nuxeo.db.user_separator_key}" />
</#if>
<#if "${nuxeo.db.type}" == "mysql">
<schema>
<field type="largetext">var_ParallelDocumentReview:review_result</field>
</schema>
</#if>
</repository>
</extension>
<extension target="org.nuxeo.runtime.kv.KeyValueService" point="configuration">
<store name="default" class="org.nuxeo.ecm.core.storage.sql.kv.SQLKeyValueStore">
<property name="datasource">jdbc/keyvaluestore</property>
<property name="table">kv</property>
</store>
</extension>
<#else>
<require>org.nuxeo.runtime.mongodb.MongoDBComponent</require>
<extension target="org.nuxeo.ecm.core.storage.mongodb.MongoDBRepositoryService"
point="repository">
<!-- it will lookup for "repository/default" connection -->
<repository name="default" label="label.default.repository">
<fulltext disabled="${nuxeo.vcs.fulltext.disabled}" searchDisabled="${nuxeo.vcs.fulltext.search.disabled}" />
<cache enabled="${nuxeo.dbs.cache.enabled}" maxSize="${nuxeo.dbs.cache.maxSize}"
concurrencyLevel="${nuxeo.dbs.cache.concurrencyLevel}" ttl="${nuxeo.dbs.cache.ttl}" />
<clustering id="${repository.clustering.id}" enabled="${repository.clustering.enabled}">
<invalidatorClass>org.nuxeo.ecm.core.storage.dbs.DBSPubSubInvalidator</invalidatorClass>
</clustering>
<changeTokenEnabled>${nuxeo.changetoken.enabled}</changeTokenEnabled>
</repository>
</extension>
</#if>
</component>
</#escape>
05-14-2020 07:12 AM
Hello,
I think you missed one step. You have to deactivate the default single-datasource mode in nuxeo.conf
nuxeo.db.singleDataSource=
Info: https://doc.nuxeo.com/nxdoc/multiple-repositories-configuration/
Regards.
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.