[
https://issues.apache.org/jira/browse/IGNITE-7421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16380043#comment-16380043
]
Vladimir Ozerov commented on IGNITE-7421:
-----------------------------------------
[~kukushal], I did preliminary review. Please address the following issues:
1) I do not think it makes sense to have separate module. Instead, it is better
to store client inside {{ignite-core}} because it would simplify project
configuration from user side (one jar instead of two). We already did this for
thin JDBC driver.
2) Once code is moved to the core, please make sure to remove all duplicated
classes (QueryEntity, QueryIndex, etc)
3) Please pay attention to our common project structure - public classes and
interfaces are stored inside {{org.apache.ignite}} subpackages. Internal
classes are stored inside {{org.apache.ignite.*internal*}} packages. The same
should be done for thin client - {{org.apache.ignite.client}} for public stuff,
{{org.apache.ignite.internal.processors.odbc.thin}} for internal stuff ("odbc"
in package name is an artifact, we will rename it to "client" later).
4) Please make sure that you follow our code convention rules. E.g., we
disallow wildcards in package declarations. Every class should be defined
explicitly.
> Thin client Java API - data grid API
> ------------------------------------
>
> Key: IGNITE-7421
> URL: https://issues.apache.org/jira/browse/IGNITE-7421
> Project: Ignite
> Issue Type: New Feature
> Components: thin client
> Reporter: Alexey Kukushkin
> Assignee: Alexey Kukushkin
> Priority: Major
> Labels: data, java, thin
>
> Implement below Java bindings for the thin client protocol. The client
> configuration must support failover and encryption.
> Cache
> JCache (limited)
> getName(): String
> put(key, val)
> get(key): V
> getAll(keys: Set): Map
> containsKey(key): boolean
> getAndPut(key, val): V
> getAndReplace(key, val): V
> getAndRemove(key): V
> putIfAbsent
> replace(key, val)
> replace(key, oldVal, newVal)
> putAll
> clear
> remove(key)
> remove(key, val)
> removeAll()
> removeAll(keys: Set)
> getConfiguration(clazz): Configuration
> close()
> size(modes: CachePeekMode...)
> query(qry: Query): QueryCursor
> query(qry: SqlFieldsQuery): FieldsQueryCursor<List>
> withKeepBinary(): IgniteCache
> Ignite
> cache(name: String)
> cacheNames(): Collection
> binary(): IgniteBinary
> createCache(name): Cache
> getOrCreateCache(name): Cache
> destroyCache(name)
> Ignition
> startClient(:ClientConfiguration): Ignite
> ClientConfiguration(port, host, binaryConfiguration, sslConfiguration,
> etc...)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)