synchronization - eXist-db 不同服务器之间的内容同步问题
问题描述
有两个 eXist-db 服务器。一个是主人,一个是奴隶。我知道我们可以在它们同时运行时使用 ActiveMQ 复制内容(我完成了这项工作)。但我想知道有没有办法手动复制内容?就像在 B 服务器启动时从 A 服务器同步内容一样。实际上,它们是两台服务器中的同一个文件夹。collection.xconf 如下。
<collection xmlns="http://exist-db.org/collection-config/1.0">
<triggers>
<trigger class="org.exist.jms.replication.publish.ReplicationTrigger">
<!--
Class name of the initial context provider, default value
for ActiveMQ
see javax.naming.Context#INITIAL_CONTEXT_FACTORY
-->
<parameter name="java.naming.factory.initial" value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
<!--
URL of the message broker, default value for ActiveMQ
see javax.naming.Context#PROVIDER_URL
-->
<parameter name="java.naming.provider.url" value="tcp://localhost:61616"/>
<!--
Lookup connection factory
see javax.naming.InitialContext#lookup(String)
-->
<parameter name="connection-factory" value="ConnectionFactory"/>
<!--
Lookup destination (topic)
see javax.naming.InitialContext#lookup(String)
-->
<parameter name="destination" value="dynamicTopics/eXistdb-replication-example"/>
</trigger>
<trigger event="update" class="org.exist.collections.triggers.XQueryTrigger">
<parameter name="url" value="xmldb:exist:///db/triggerUpdate.xql"/>
</trigger>
</triggers>
</collection>
解决方案
扩展实际上有这个sync($doc)
功能,你可以使用这个功能将一个资源发送到代理。我将很快将有关此的文档添加到 wiki。
这提醒我需要尽快发布一些小修复......
推荐阅读
- c++ - C ++随机数每次都相同的序列
- clojure - 我可以避免在 Clojure 解析中进行第二次符号查找吗?
- java - 如果java中不存在其他标签,如何获取xml标签的第一个子元素
- python - AttributeError:模块“pandas”没有属性“drop_duplicates”
- c - 测试输入或输出是否在缓冲流中挂起
- c# - 使用 LINQ 表达式从嵌套列表中获取值
- javascript - JavaScript,验证 onkeyup 和提交的 html 表单
- ag-grid - 为什么我从 ag-grid 收到此警告,未找到 agMultiColumnFilter 组件?
- python - Pyomo/CPLEX:停止写入文件'C:\Users\...\...\tmp4ge49sy8.cplex.sol'的解决方案,用于 Python 中 Pyomo 中的 CPLEX API
- scikit-learn - 如何将 Pipeline 与 cross_val_score 结合起来解决多类问题?