Merge pull request #200 from bdrillard/mongo-options
Adds missing mongo options
This commit is contained in:
commit
c2cbdcaa38
2 changed files with 89 additions and 39 deletions
|
|
@ -136,56 +136,78 @@
|
||||||
(ServerAddress. hostname port)))
|
(ServerAddress. hostname port)))
|
||||||
|
|
||||||
(defn ^MongoClientOptions$Builder mongo-options-builder
|
(defn ^MongoClientOptions$Builder mongo-options-builder
|
||||||
[{:keys [connections-per-host threads-allowed-to-block-for-connection-multiplier
|
[{:keys [add-cluster-listener add-cluster-listeners add-command-listener add-command-listeners
|
||||||
max-wait-time connect-timeout socket-timeout socket-keep-alive auto-connect-retry max-auto-connect-retry-time
|
add-connection-pool-listener add-connection-pool-listeners add-server-listener add-server-listeners
|
||||||
description write-concern cursor-finalizer-enabled read-preference required-replica-set-name
|
add-server-monitor-listener add-server-monitor-listeners always-use-mbeans application-name
|
||||||
add-command-listener always-use-mbeans codec-registry db-decoder-factory db-encoder-factory
|
codec-registry compressor-list connect-timeout connections-per-host cursor-finalizer-enabled
|
||||||
heartbeat-connect-timeout heartbeat-frequency heartbeat-socket-timeout local-threshold
|
db-decoder-factory db-encoder-factory description heartbeat-connect-timeout heartbeat-frequency
|
||||||
max-connection-idle-time max-connection-life-time min-connections-per-host min-heartbeat-frequency
|
heartbeat-socket-timeout local-threshold max-connection-idle-time max-connection-life-time
|
||||||
read-concern server-selection-timeout socket-factory ssl-enabled ssl-invalid-host-name-allowed]}]
|
max-wait-time min-connections-per-host min-heartbeat-frequency read-concern read-preference
|
||||||
|
required-replica-set-name retry-writes server-selection-timeout server-selector socket-keep-alive
|
||||||
|
socket-factory socket-timeout ssl-context ssl-enabled ssl-invalid-host-name-allowed
|
||||||
|
threads-allowed-to-block-for-connection-multiplier write-concern]}]
|
||||||
(let [mob (MongoClientOptions$Builder.)]
|
(let [mob (MongoClientOptions$Builder.)]
|
||||||
(when connections-per-host
|
(when add-cluster-listener
|
||||||
(.connectionsPerHost mob connections-per-host))
|
(.addClusterListener mob add-cluster-listener))
|
||||||
(when threads-allowed-to-block-for-connection-multiplier
|
(when add-cluster-listeners
|
||||||
(.threadsAllowedToBlockForConnectionMultiplier mob threads-allowed-to-block-for-connection-multiplier))
|
(doseq [cluster-listener add-cluster-listeners]
|
||||||
(when max-wait-time
|
(.addClusterListener mob cluster-listener)))
|
||||||
(.maxWaitTime mob max-wait-time))
|
|
||||||
(when connect-timeout
|
|
||||||
(.connectTimeout mob connect-timeout))
|
|
||||||
(when socket-timeout
|
|
||||||
(.socketTimeout mob socket-timeout))
|
|
||||||
(when socket-keep-alive
|
|
||||||
(.socketKeepAlive mob socket-keep-alive))
|
|
||||||
(when read-preference
|
|
||||||
(.readPreference mob read-preference))
|
|
||||||
(when description
|
|
||||||
(.description mob description))
|
|
||||||
(when write-concern
|
|
||||||
(.writeConcern mob write-concern))
|
|
||||||
(when cursor-finalizer-enabled
|
|
||||||
(.cursorFinalizerEnabled mob cursor-finalizer-enabled))
|
|
||||||
(when required-replica-set-name
|
|
||||||
(.requiredReplicaSetName mob required-replica-set-name))
|
|
||||||
(when add-command-listener
|
(when add-command-listener
|
||||||
(.addCommandListener mob add-command-listener))
|
(.addCommandListener mob add-command-listener))
|
||||||
|
(when add-command-listeners
|
||||||
|
(doseq [command-listener add-command-listeners]
|
||||||
|
(.addCommandListener mob command-listener)))
|
||||||
|
(when add-connection-pool-listener
|
||||||
|
(.addConnectionPoolListener mob add-connection-pool-listener))
|
||||||
|
(when add-connection-pool-listeners
|
||||||
|
(doseq [connection-pool-listener add-connection-pool-listeners]
|
||||||
|
(.addConnectionPoolListener mob connection-pool-listener)))
|
||||||
|
(when add-server-listener
|
||||||
|
(.addServerListener mob add-server-listener))
|
||||||
|
(when add-server-listeners
|
||||||
|
(doseq [server-listener add-server-listeners]
|
||||||
|
(.addServerListener mob server-listener)))
|
||||||
|
(when add-server-monitor-listener
|
||||||
|
(.addServerMonitorListener mob add-server-monitor-listener))
|
||||||
|
(when add-server-monitor-listeners
|
||||||
|
(doseq [server-monitor-listener add-server-monitor-listeners]
|
||||||
|
(.addServerMonitorListener mob server-monitor-listener)))
|
||||||
|
(when always-use-mbeans
|
||||||
|
(.alwaysUseMBeans mob always-use-mbeans))
|
||||||
|
(when application-name
|
||||||
|
(.applicationName mob application-name))
|
||||||
(when always-use-mbeans
|
(when always-use-mbeans
|
||||||
(.alwaysUseMBeans mob always-use-mbeans))
|
(.alwaysUseMBeans mob always-use-mbeans))
|
||||||
(when codec-registry
|
(when codec-registry
|
||||||
(.codecRegistry mob codec-registry))
|
(.codecRegistry mob codec-registry))
|
||||||
|
(when compressor-list
|
||||||
|
(.compressorList mob compressor-list))
|
||||||
|
(when connections-per-host
|
||||||
|
(.connectionsPerHost mob connections-per-host))
|
||||||
|
(when connect-timeout
|
||||||
|
(.connectTimeout mob connect-timeout))
|
||||||
|
(when cursor-finalizer-enabled
|
||||||
|
(.cursorFinalizerEnabled mob cursor-finalizer-enabled))
|
||||||
(when db-decoder-factory
|
(when db-decoder-factory
|
||||||
(.dbDecoderFactory mob db-decoder-factory))
|
(.dbDecoderFactory mob db-decoder-factory))
|
||||||
(when db-encoder-factory
|
(when db-encoder-factory
|
||||||
(.dbEncoderFactory mob db-encoder-factory))
|
(.dbEncoderFactory mob db-encoder-factory))
|
||||||
|
(when description
|
||||||
|
(.description mob description))
|
||||||
(when heartbeat-connect-timeout
|
(when heartbeat-connect-timeout
|
||||||
(.heartbeatConnectTimeout mob heartbeat-connect-timeout))
|
(.heartbeatConnectTimeout mob heartbeat-connect-timeout))
|
||||||
(when heartbeat-frequency
|
(when heartbeat-frequency
|
||||||
(.heartbeatFrequency mob heartbeat-frequency))
|
(.heartbeatFrequency mob heartbeat-frequency))
|
||||||
(when heartbeat-socket-timeout
|
(when heartbeat-socket-timeout
|
||||||
(.heartbeatSocketTimeout mob heartbeat-socket-timeout))
|
(.heartbeatSocketTimeout mob heartbeat-socket-timeout))
|
||||||
|
(when ssl-context
|
||||||
|
(.sslContext mob ssl-context))
|
||||||
(when local-threshold
|
(when local-threshold
|
||||||
(.localThreshold mob local-threshold))
|
(.localThreshold mob local-threshold))
|
||||||
(when max-connection-idle-time
|
(when max-connection-idle-time
|
||||||
(.maxConnectionIdleTime mob max-connection-idle-time))
|
(.maxConnectionIdleTime mob max-connection-idle-time))
|
||||||
|
(when max-wait-time
|
||||||
|
(.maxWaitTime mob max-wait-time))
|
||||||
(when max-connection-life-time
|
(when max-connection-life-time
|
||||||
(.maxConnectionLifeTime mob max-connection-life-time))
|
(.maxConnectionLifeTime mob max-connection-life-time))
|
||||||
(when min-connections-per-host
|
(when min-connections-per-host
|
||||||
|
|
@ -194,14 +216,30 @@
|
||||||
(.minHeartbeatFrequency mob min-heartbeat-frequency))
|
(.minHeartbeatFrequency mob min-heartbeat-frequency))
|
||||||
(when read-concern
|
(when read-concern
|
||||||
(.readConcern mob read-concern))
|
(.readConcern mob read-concern))
|
||||||
|
(when read-preference
|
||||||
|
(.readPreference mob read-preference))
|
||||||
|
(when required-replica-set-name
|
||||||
|
(.requiredReplicaSetName mob required-replica-set-name))
|
||||||
|
(when retry-writes
|
||||||
|
(.retryWrites mob retry-writes))
|
||||||
(when server-selection-timeout
|
(when server-selection-timeout
|
||||||
(.serverSelectionTimeout mob server-selection-timeout))
|
(.serverSelectionTimeout mob server-selection-timeout))
|
||||||
|
(when server-selector
|
||||||
|
(.serverSelector mob server-selector))
|
||||||
|
(when socket-keep-alive
|
||||||
|
(.socketKeepAlive mob socket-keep-alive))
|
||||||
(when socket-factory
|
(when socket-factory
|
||||||
(.socketFactory mob socket-factory))
|
(.socketFactory mob socket-factory))
|
||||||
|
(when socket-timeout
|
||||||
|
(.socketTimeout mob socket-timeout))
|
||||||
(when ssl-enabled
|
(when ssl-enabled
|
||||||
(.sslEnabled mob ssl-enabled))
|
(.sslEnabled mob ssl-enabled))
|
||||||
(when ssl-invalid-host-name-allowed
|
(when ssl-invalid-host-name-allowed
|
||||||
(.sslInvalidHostNameAllowed mob ssl-invalid-host-name-allowed))
|
(.sslInvalidHostNameAllowed mob ssl-invalid-host-name-allowed))
|
||||||
|
(when threads-allowed-to-block-for-connection-multiplier
|
||||||
|
(.threadsAllowedToBlockForConnectionMultiplier mob threads-allowed-to-block-for-connection-multiplier))
|
||||||
|
(when write-concern
|
||||||
|
(.writeConcern mob write-concern))
|
||||||
mob))
|
mob))
|
||||||
|
|
||||||
(defn ^MongoClientOptions mongo-options
|
(defn ^MongoClientOptions mongo-options
|
||||||
|
|
|
||||||
|
|
@ -57,18 +57,30 @@
|
||||||
(is (dbs "monger-test"))))
|
(is (dbs "monger-test"))))
|
||||||
|
|
||||||
(deftest monger-options-test
|
(deftest monger-options-test
|
||||||
(let [opts {:connections-per-host 1
|
(let [opts {:always-use-mbeans true
|
||||||
:threads-allowed-to-block-for-connection-multiplier 1
|
:application-name "app"
|
||||||
:max-wait-time 1
|
|
||||||
:connect-timeout 1
|
:connect-timeout 1
|
||||||
:socket-timeout 1
|
:connections-per-host 1
|
||||||
:socket-keep-alive true
|
|
||||||
:auto-connect-retry true
|
|
||||||
:max-auto-connect-retry-time 1
|
|
||||||
:description "Description"
|
|
||||||
:write-concern com.mongodb.WriteConcern/JOURNAL_SAFE
|
|
||||||
:cursor-finalizer-enabled true
|
:cursor-finalizer-enabled true
|
||||||
:required-replica-set-name "rs"}]
|
:description "Description"
|
||||||
|
:heartbeat-connect-timeout 1
|
||||||
|
:heartbeat-frequency 1
|
||||||
|
:heartbeat-socket-timeout 1
|
||||||
|
:local-threshold 1
|
||||||
|
:max-connection-idle-time 1
|
||||||
|
:max-connection-life-time 1
|
||||||
|
:max-wait-time 1
|
||||||
|
:min-connections-per-host 1
|
||||||
|
:min-heartbeat-frequency 1
|
||||||
|
:required-replica-set-name "rs"
|
||||||
|
:retry-writes true
|
||||||
|
:server-selection-timeout 1
|
||||||
|
:socket-keep-alive true
|
||||||
|
:socket-timeout 1
|
||||||
|
:ssl-enabled true
|
||||||
|
:ssl-invalid-host-name-allowed true
|
||||||
|
:threads-allowed-to-block-for-connection-multiplier 1
|
||||||
|
:write-concern com.mongodb.WriteConcern/JOURNAL_SAFE}]
|
||||||
(is (instance? com.mongodb.MongoClientOptions$Builder (mg/mongo-options-builder opts)))))
|
(is (instance? com.mongodb.MongoClientOptions$Builder (mg/mongo-options-builder opts)))))
|
||||||
|
|
||||||
(deftest connect-to-uri-without-db-name
|
(deftest connect-to-uri-without-db-name
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue