Comments (3)
from azure-cosmosdb-java.
This issue is specific to Scala. The crux of the problem is with the following import statement:
import com.microsoft.azure.documentdb._
Scala uses relative package naming which means above statement automatically imports the package rx from com.microsoft.azure.documentdb. This means it hides all packages within the real package "rx" from RxJava. You might argue that "isn't it a bad idea to to import everything from documentdb or even documentdb.rx", I would say "Yes, it is" but when we work on POCs we don't know many classes within the relatively new API so for the sake of convenience we import everything then clean up later. Also given the number of classes defined within azure.documentdb tools like IntelliJ automatically translate to ._ after seeing use of certain number of classes, so use of ._ is pretty common.
root is the construct that forces to use absolute package naming. So I had to use it this way in order to overcome the problem.
Here are some more details: https://www.scala-lang.org/old/faq/3.html
Given "rx" is the centerpiece of this library, I would recommend renaming com.microsoft.azure.documentdb.rx to something else, saving time for many naive programmers like me.
Update: I was able fix this by taking advantage of the import order by importing rx._ first. But I think this is going to be a nagging issue for many developers.
import rx._
import rx.functions._
import com.microsoft.azure.documentdb._
instead of
import com.microsoft.azure.documentdb._
import _root_.rx._
from azure-cosmosdb-java.
@sgireddy
I haven't done much scala programming myself so your comments on your experience when using this in Scala is helpful.
Two questions for you:
- Please see mongo's rx driver classes, e.g, com.mongodb.rx.client.MapReduceObservable
http://mongodb.github.io/mongo-java-driver-rx/1.1/javadoc/com/mongodb/rx/client/MapReduceObservable.html
Does mongo's rx driver have the same problem on Scala?
- our rx driver is already used in a scala package:
https://github.com/Azure/azure-cosmosdb-spark/blob/master/src/main/scala/com/microsoft/azure/cosmosdb/spark/CosmosDBSpark.scala#L30-L31
Can you follow the pattern used in the above link? do you see any problem with this approach?
Thanks
from azure-cosmosdb-java.
Related Issues (20)
- In flight http request during failover not moving to other available region
- storePhysicalAddress is null - V2 Java Async SDK HOT 2
- Reliable connection configuration for Azure functions consumption plan HOT 1
- Bump to >2.4.0 yields DocumentClientException/ Request url is invalid. HOT 1
- QueryPlan should be a read request
- Add support of getDuration for Queries in Cosmos Diagnostics - V4 Java Cosmos SDK HOT 1
- FR Add an option to SQL API @Container to set auto scaling = true
- Duplicate results when DISTINCT querying
- "sortedRanges" exception when querying Unique Key IN list HOT 1
- I'm not able to see which branch is for latest version of V3 version (3.7.5) HOT 6
- Connection leak with Cosmos DB client SDK HOT 2
- Getting 404 even though cosmos has document
- Netty issue while using azure cosmos in android
- ETag Check in Cosmos SDK V4 batch
- Including "uri" in the Diagnostic logs
- 同学,您这个项目引入了119个开源组件,存在41个漏洞,辛苦升级一下
- Fail to reach global gateway HOT 1
- This repo is missing important files
- Direct Connectivity Issue from VNET SpringApps to CosmosDB HOT 2
- Java SDK not returning cumulative RU for operations with retries HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from azure-cosmosdb-java.