blob: 4233d440adc0b122d7a9d37678b92a0b450defff [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.ignite.configuration;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.jetbrains.annotations.Nullable;
/**
* SQL connection configuration.
* <p>
* Deprecated as of Apache Ignite 2.3. Please use {@link ClientConnectorConfiguration} and
* {@link IgniteConfiguration#setClientConnectorConfiguration(ClientConnectorConfiguration)} instead.
*/
@SuppressWarnings("deprecation")
@Deprecated
public class SqlConnectorConfiguration {
/** Default port. */
public static final int DFLT_PORT = 10800;
/** Default port range. */
public static final int DFLT_PORT_RANGE = 100;
/** Default socket send and receive buffer size. */
public static final int DFLT_SOCK_BUF_SIZE = 0;
/** Default value for {@code TCP_NODELAY} socket option (value is <tt>true</tt>). */
public static final boolean DFLT_TCP_NO_DELAY = true;
/** Default max number of open cursors per connection. */
public static final int DFLT_MAX_OPEN_CURSORS_PER_CONN = 128;
/** Default size of thread pool. */
public static final int DFLT_THREAD_POOL_SIZE = IgniteConfiguration.DFLT_PUBLIC_THREAD_CNT;
/** Host. */
private String host;
/** Port. */
private int port = DFLT_PORT;
/** Port range. */
private int portRange = DFLT_PORT_RANGE;
/** Socket send buffer size. */
private int sockSndBufSize = DFLT_SOCK_BUF_SIZE;
/** Socket receive buffer size. */
private int sockRcvBufSize = DFLT_SOCK_BUF_SIZE;
/** TCP no delay. */
private boolean tcpNoDelay = DFLT_TCP_NO_DELAY;
/** Max number of opened cursors per connection. */
private int maxOpenCursorsPerConn = DFLT_MAX_OPEN_CURSORS_PER_CONN;
/** Thread pool size. */
private int threadPoolSize = DFLT_THREAD_POOL_SIZE;
/**
* Creates SQL connector configuration with all default values.
*/
public SqlConnectorConfiguration() {
// No-op.
}
/**
* Creates SQL connector configuration by copying all properties from given configuration.
*
* @param cfg Configuration to copy.
*/
public SqlConnectorConfiguration(SqlConnectorConfiguration cfg) {
assert cfg != null;
host = cfg.getHost();
maxOpenCursorsPerConn = cfg.getMaxOpenCursorsPerConnection();
port = cfg.getPort();
portRange = cfg.getPortRange();
sockRcvBufSize = cfg.getSocketReceiveBufferSize();
sockSndBufSize = cfg.getSocketSendBufferSize();
tcpNoDelay = cfg.isTcpNoDelay();
threadPoolSize = cfg.getThreadPoolSize();
}
/**
* Get host.
*
* @return Host.
*/
@Nullable public String getHost() {
return host;
}
/**
* Set host.
*
* @param host Host.
* @return This instance for chaining.
*/
public SqlConnectorConfiguration setHost(@Nullable String host) {
this.host = host;
return this;
}
/**
* Get port.
*
* @return Port.
*/
public int getPort() {
return port;
}
/**
* Set port.
*
* @param port Port.
* @return This instance for chaining.
*/
public SqlConnectorConfiguration setPort(int port) {
this.port = port;
return this;
}
/**
* Get port range.
*
* @return Port range.
*/
public int getPortRange() {
return portRange;
}
/**
* Set port range.
*
* @param portRange Port range.
* @return This instance for chaining.
*/
public SqlConnectorConfiguration setPortRange(int portRange) {
this.portRange = portRange;
return this;
}
/**
* Gets socket send buffer size. When set to zero, operation system default will be used.
* <p>
* Defaults to {@link #DFLT_SOCK_BUF_SIZE}
*
* @return Socket send buffer size in bytes.
*/
public int getSocketSendBufferSize() {
return sockSndBufSize;
}
/**
* Sets socket send buffer size. See {@link #getSocketSendBufferSize()} for more information.
*
* @param sockSndBufSize Socket send buffer size in bytes.
* @return This instance for chaining.
*/
public SqlConnectorConfiguration setSocketSendBufferSize(int sockSndBufSize) {
this.sockSndBufSize = sockSndBufSize;
return this;
}
/**
* Gets socket receive buffer size. When set to zero, operation system default will be used.
* <p>
* Defaults to {@link #DFLT_SOCK_BUF_SIZE}.
*
* @return Socket receive buffer size in bytes.
*/
public int getSocketReceiveBufferSize() {
return sockRcvBufSize;
}
/**
* Sets socket receive buffer size. See {@link #getSocketReceiveBufferSize()} for more information.
*
* @param sockRcvBufSize Socket receive buffer size in bytes.
* @return This instance for chaining.
*/
public SqlConnectorConfiguration setSocketReceiveBufferSize(int sockRcvBufSize) {
this.sockRcvBufSize = sockRcvBufSize;
return this;
}
/**
* Get TCP NO_DELAY flag.
*
* @return TCP NO_DELAY flag.
*/
public boolean isTcpNoDelay() {
return tcpNoDelay;
}
/**
* Set TCP NO_DELAY flag.
*
* @param tcpNoDelay TCP NO_DELAY flag.
* @return This instance for chaining.
*/
public SqlConnectorConfiguration setTcpNoDelay(boolean tcpNoDelay) {
this.tcpNoDelay = tcpNoDelay;
return this;
}
/**
* Gets maximum number of opened cursors per connection.
* <p>
* Defaults to {@link #DFLT_MAX_OPEN_CURSORS_PER_CONN}.
*
* @return Maximum number of opened cursors.
*/
public int getMaxOpenCursorsPerConnection() {
return maxOpenCursorsPerConn;
}
/**
* Sets maximum number of opened cursors per connection.
*
* @param maxOpenCursorsPerConn Maximum number of opened cursors.
* @return This instance for chaining.
*/
public SqlConnectorConfiguration setMaxOpenCursorsPerConnection(int maxOpenCursorsPerConn) {
this.maxOpenCursorsPerConn = maxOpenCursorsPerConn;
return this;
}
/**
* Size of thread pool that is in charge of processing SQL requests.
* <p>
* Defaults {@link #DFLT_THREAD_POOL_SIZE}.
*
* @return Thread pool that is in charge of processing SQL requests.
*/
public int getThreadPoolSize() {
return threadPoolSize;
}
/**
* Sets thread pool that is in charge of processing SQL requests. See {@link #getThreadPoolSize()} for more
* information.
*
* @param threadPoolSize Thread pool that is in charge of processing SQL requests.
* @return This instance for chaining.
*/
public SqlConnectorConfiguration setThreadPoolSize(int threadPoolSize) {
this.threadPoolSize = threadPoolSize;
return this;
}
/** {@inheritDoc} */
@Override public String toString() {
return S.toString(SqlConnectorConfiguration.class, this);
}
}