首先,是的,我已经搜索了,是的,我已经阅读了每个人指向的相同的Apache文档.:-)我认为有一些混乱,我想我知道答案,所以让我列举一个我认为正确的例子,按照我认为的答案来做.谢谢.哦,我知道有些endChoice()行并不是绝对必要的,Camel会想出来,但我喜欢干净地描述的块,除非有一些理由不使用它们.
.choice()
.when(X1)
// do stuff
.choice()
.when(Y)
//do more stuff
.endChoice() // close inner when block
.end() // close inner choice block
.endChoice() // close first outer when
.when(X2)
// do other stuff
.endChoice() // close second outer when
.end() // close outer choice
Run Code Online (Sandbox Code Playgroud)
所以,我原来看看API,我认为end()用于关闭诸如choice和split之类的东西,而endChoice()用于关闭选择选项,比如when和otherwise.它看起来更像后者实际上是一个返回ChoiceDefinition的end().这使得这个名字好一点.
但是,如果我取出标有'close inner choice block'的end(),这意味着我继续下一行,即endChoice().这会关闭内部选择块吗?鉴于此,when(X2)仍然在when(X1)块内.所以,我认为我需要用endChoice()替换end()而不是删除它.所以结果如下:
.choice()
.when(X1)
// do stuff
.choice()
.when(Y)
//do more stuff
.endChoice() // close inner when block
.endChoice() // close inner choice block
.endChoice() // close first outer when
.when(X2)
// …Run Code Online (Sandbox Code Playgroud) mongo 完全重装后,还记得之前的副本集配置;它把这个存储在哪里?
我使用我们项目的用户帐户在 linux 服务器上安装了 mongo 到该用户拥有的目录中。我设置了复制并让它工作正常。然后,为了测试一些更精细的安装点,我删除了整个 mongo 目录并重新安装。进入mongo,发现replication已经和之前一样设置好了;所以看起来 mongo 将信息存储在某个地方。
我检查了几个可能持有副本集配置的区域:
systemLog.path),另一个用于存储 ( storage.dbPath),并且都指向已删除的 mongo 目录。有谁知道 mongo 在哪里存储此配置信息?