ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ozerov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-7421) Thin client Java API - data grid API
Date Wed, 28 Feb 2018 09:34:00 GMT

    [ 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)

Mime
View raw message