/** * Returns an instance of {@link ArangoDBAsync}. * * @return {@link ArangoDBAsync} */ public synchronized ArangoDBAsync build() { if (hosts.isEmpty()) { hosts.add(host); } final VPack vpacker = vpackBuilder.serializeNullValues(false).build(); final VPack vpackerNull = vpackBuilder.serializeNullValues(true).build(); final VPackParser vpackParser = vpackParserBuilder.build(); final ArangoSerializer serializerTemp = serializer != null ? serializer : new ArangoSerializerImpl(vpacker, vpackerNull, vpackParser); final ArangoDeserializer deserializerTemp = deserializer != null ? deserializer : new ArangoDeserializerImpl(vpackerNull, vpackParser); final DefaultArangoSerialization internal = new DefaultArangoSerialization(serializerTemp, deserializerTemp); final ArangoSerialization custom = customSerializer != null ? customSerializer : internal; final ArangoSerializationFactory util = new ArangoSerializationFactory(internal, custom); final int max = maxConnections != null ? Math.max(1, maxConnections) : ArangoDefaults.MAX_CONNECTIONS_VST_DEFAULT; final ConnectionFactory connectionFactory = new VstConnectionFactoryAsync(host, timeout, connectionTtl, useSsl, sslContext); final HostResolver hostResolver = createHostResolver(createHostList(max, connectionFactory), max, connectionFactory); final HostHandler hostHandler = createHostHandler(hostResolver); return new ArangoDBAsyncImpl(asyncBuilder(hostHandler), util, syncBuilder(hostHandler), hostResolver, new ArangoContext()); }
/** * Returns an instance of {@link ArangoDBAsync}. * * @return {@link ArangoDBAsync} */ public synchronized ArangoDBAsync build() { if (hosts.isEmpty()) { hosts.add(host); } final VPack vpacker = vpackBuilder.serializeNullValues(false).build(); final VPack vpackerNull = vpackBuilder.serializeNullValues(true).build(); final VPackParser vpackParser = vpackParserBuilder.build(); final ArangoSerializer serializerTemp = serializer != null ? serializer : new ArangoSerializerImpl(vpacker, vpackerNull, vpackParser); final ArangoDeserializer deserializerTemp = deserializer != null ? deserializer : new ArangoDeserializerImpl(vpackerNull, vpackParser); final DefaultArangoSerialization internal = new DefaultArangoSerialization(serializerTemp, deserializerTemp); final ArangoSerialization custom = customSerializer != null ? customSerializer : internal; final ArangoSerializationFactory util = new ArangoSerializationFactory(internal, custom); final int max = maxConnections != null ? Math.max(1, maxConnections) : ArangoDefaults.MAX_CONNECTIONS_VST_DEFAULT; final ConnectionFactory connectionFactory = new VstConnectionFactoryAsync(host, timeout, connectionTtl, useSsl, sslContext); final HostResolver hostResolver = createHostResolver(createHostList(max, connectionFactory), max, connectionFactory); final HostHandler hostHandler = createHostHandler(hostResolver); return new ArangoDBAsyncImpl(asyncBuilder(hostHandler), util, syncBuilder(hostHandler), hostResolver, new ArangoContext()); }