| /* |
| * 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; |
| |
| /** |
| * ODBC configuration. |
| * <p> |
| * Deprecated as of Apache Ignite 2.1. Please use {@link ClientConnectorConfiguration} and |
| * {@link IgniteConfiguration#setClientConnectorConfiguration(ClientConnectorConfiguration)} instead. |
| */ |
| @Deprecated |
| public class OdbcConfiguration { |
| /** Default TCP host. */ |
| public static final String DFLT_TCP_HOST = "0.0.0.0"; |
| |
| /** Default minimum TCP port range value. */ |
| public static final int DFLT_TCP_PORT_FROM = 10800; |
| |
| /** Default maximum TCP port range value. */ |
| public static final int DFLT_TCP_PORT_TO = 10810; |
| |
| /** Default socket send and receive buffer size. */ |
| public static final int DFLT_SOCK_BUF_SIZE = 0; |
| |
| /** Default max number of open cursors per connection. */ |
| public static final int DFLT_MAX_OPEN_CURSORS = 128; |
| |
| /** Default size of thread pool. */ |
| public static final int DFLT_THREAD_POOL_SIZE = IgniteConfiguration.DFLT_PUBLIC_THREAD_CNT; |
| |
| /** Endpoint address. */ |
| private String endpointAddr; |
| |
| /** Socket send buffer size. */ |
| private int sockSndBufSize = DFLT_SOCK_BUF_SIZE; |
| |
| /** Socket receive buffer size. */ |
| private int sockRcvBufSize = DFLT_SOCK_BUF_SIZE; |
| |
| /** Max number of opened cursors per connection. */ |
| private int maxOpenCursors = DFLT_MAX_OPEN_CURSORS; |
| |
| /** Thread pool size. */ |
| private int threadPoolSize = DFLT_THREAD_POOL_SIZE; |
| |
| /** |
| * Creates ODBC server configuration with all default values. |
| */ |
| public OdbcConfiguration() { |
| // No-op. |
| } |
| |
| /** |
| * Creates ODBC server configuration by copying all properties from given configuration. |
| * |
| * @param cfg ODBC server configuration. |
| */ |
| public OdbcConfiguration(OdbcConfiguration cfg) { |
| assert cfg != null; |
| |
| endpointAddr = cfg.getEndpointAddress(); |
| maxOpenCursors = cfg.getMaxOpenCursors(); |
| sockRcvBufSize = cfg.getSocketReceiveBufferSize(); |
| sockSndBufSize = cfg.getSocketSendBufferSize(); |
| threadPoolSize = cfg.getThreadPoolSize(); |
| } |
| |
| /** |
| * Get ODBC endpoint address. Ignite will listen for incoming TCP connections on this address. Either single port |
| * or port range could be used. In the latter case Ignite will start listening on the first available port |
| * form the range. |
| * <p> |
| * The following address formats are permitted: |
| * <ul> |
| * <li>{@code hostname} - will use provided hostname and default port range;</li> |
| * <li>{@code hostname:port} - will use provided hostname and port;</li> |
| * <li>{@code hostname:port_from..port_to} - will use provided hostname and port range.</li> |
| * </ul> |
| * <p> |
| * When set to {@code null}, ODBC processor will be bound to {@link #DFLT_TCP_HOST} host and default port range. |
| * <p> |
| * Default port range is from {@link #DFLT_TCP_PORT_FROM} to {@link #DFLT_TCP_PORT_TO}. |
| * |
| * @return ODBC endpoint address. |
| */ |
| public String getEndpointAddress() { |
| return endpointAddr; |
| } |
| |
| /** |
| * Set ODBC endpoint address. See {@link #getEndpointAddress()} for more information. |
| * |
| * @param addr ODBC endpoint address. |
| * @return This instance for chaining. |
| */ |
| public OdbcConfiguration setEndpointAddress(String addr) { |
| this.endpointAddr = addr; |
| |
| return this; |
| } |
| |
| /** |
| * Gets maximum number of opened cursors per connection. |
| * <p> |
| * Defaults to {@link #DFLT_MAX_OPEN_CURSORS}. |
| * |
| * @return Maximum number of opened cursors. |
| */ |
| public int getMaxOpenCursors() { |
| return maxOpenCursors; |
| } |
| |
| /** |
| * Sets maximum number of opened cursors per connection. See {@link #getMaxOpenCursors()}. |
| * |
| * @param maxOpenCursors Maximum number of opened cursors. |
| * @return This instance for chaining. |
| */ |
| public OdbcConfiguration setMaxOpenCursors(int maxOpenCursors) { |
| this.maxOpenCursors = maxOpenCursors; |
| |
| 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 OdbcConfiguration 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 OdbcConfiguration setSocketReceiveBufferSize(int sockRcvBufSize) { |
| this.sockRcvBufSize = sockRcvBufSize; |
| |
| return this; |
| } |
| |
| /** |
| * Size of thread pool that is in charge of processing ODBC tasks. |
| * <p> |
| * Defaults {@link #DFLT_THREAD_POOL_SIZE}. |
| * |
| * @return Thread pool that is in charge of processing ODBC tasks. |
| */ |
| public int getThreadPoolSize() { |
| return threadPoolSize; |
| } |
| |
| /** |
| * Sets thread pool that is in charge of processing ODBC tasks. See {@link #getThreadPoolSize()} for more |
| * information. |
| * |
| * @param threadPoolSize Thread pool that is in charge of processing ODBC tasks. |
| * @return This instance for chaining. |
| */ |
| public OdbcConfiguration setThreadPoolSize(int threadPoolSize) { |
| this.threadPoolSize = threadPoolSize; |
| |
| return this; |
| } |
| |
| /** {@inheritDoc} */ |
| @Override public String toString() { |
| return S.toString(OdbcConfiguration.class, this); |
| } |
| } |