我正在尝试将一些数据推送到Azure Cosmos DB。作为一个捷径,阅读微软Azure Cosmos Emulator并将其安装在我的本地机器上,并能够通过https://localhost:8081/_ explorer/index . html看到主页(仪表板)
这是我正在尝试的代码
MongoClientURI uri = new MongoClientURI("mongodb://localhost:C2y6yDjf5%2FR%2Bob0N8A7Cgv30VRDJIWEHLM%2B4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw%2FJw%3D%3D@localhost:10255/admin?ssl=true");
MongoClient mongoClient = null;
try {
mongoClient = new MongoClient(uri);
MongoDatabase database = mongoClient.getDatabase("DEMO_ACTUALS");
MongoCollection<Document> collection = database.getCollection("Item");
collection.insertOne(generatePurchaseOrder(new OrderDetail("Laptop", "Sekhar", 1000)));
collection.insertOne(generatePurchaseOrder(new OrderDetail("Desktop", "Nilanjan", 2000)));
Document queryResult = collection.find().first();
System.out.println(queryResult.toJson());
} finally {
if (mongoClient != null) {
mongoClient.close();
}
}
我得到以下错误。尝试将证书也添加到JVM。
> Aug 11, 2021 5:58:56 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Cluster created with settings {hosts=[localhost:10255], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
Aug 11, 2021 5:58:56 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: No server chosen by WritableServerSelector from cluster description ClusterDescription{type=UNKNOWN, connectionMode=SINGLE, serverDescriptions=[ServerDescription{address=localhost:10255, type=UNKNOWN, state=CONNECTING}]}. Waiting for 30000 ms before timing out
Aug 11, 2021 5:58:56 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Exception in monitor thread while connecting to server localhost:10255
com.mongodb.MongoSocketOpenException: Exception opening socket
at com.mongodb.connection.SocketStream.open(SocketStream.java:63)
at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115)
at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:113)
at java.base/java.lang.Thread.run(Thread.java:831)
Caused by: java.net.ConnectException: Connection refused: no further information
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:669)
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:333)
at java.base/java.net.Socket.connect(Socket.java:645)
at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:290)
at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:57)
at com.mongodb.connection.SocketStream.open(SocketStream.java:58)
... 3 more
>
>
> Exception in thread "main" com.mongodb.MongoTimeoutException: Timed out after 30000 ms
while waiting for a server that matches WritableServerSelector. Client view of cluster state
is {type=UNKNOWN, servers=[{address=localhost:10255, type=UNKNOWN, state=CONNECTING,
exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by
{java.net.ConnectException: Connection refused: no further information}}]
at com.mongodb.connection.BaseCluster.createTimeoutException(BaseCluster.java:377)
我以前遇到过类似的问题,并且能够使用提供的代码片段重现问题。
对于此特定例外情况:
java.security.cert.CertPathValidatorException: signature check failed
很可能这就是在JVM中设置SSL证书的方式。
试试这个:
<代码>。\CosmosDB。emulator/EnableMongoDBEndpoint = 3.6
当模拟器启动时,根据需要使用浏览器网页创建数据库和集合。
请注意您使用哪个JDK来运行带有< code>java -version的应用程序,或者您是否使用类似IntelliJ 文件的IDE
在这个例子中,我在Windows上使用Oracle JDK v1.8。
如果您在Windows上安装了*nix system、WSL或Git Bash,请使用OpenSSL获取服务器证书。
< code > OpenSSL s _ client-connect localhost:8081
从响应中,将< code >服务器证书部分复制到一个文件中,并将其命名为类似于< code > cosmos _ emulator . cert 的内容。
文件内容应该是这样的:
-----BEGIN CERTIFICATE-----
3IIDJjCCAg6gAaIBAgIQYxVF123456789qwYfvqr6TANBgkqhkiG9aHBAQUFADAU
...
...
...
vGvh3/t88agaKl3iZL3hQYfDQ12456789zxc+kHNr2xygbaQaDAFHL9IS
-----END CERTIFICATE-----
或者,如果在Windows上,您可以通过控制面板导出此文件-
我们想将这个保存的*. cert/*. cher
文件添加到位于以下位置的JVM密钥库文件cacerts:
'C:\Program Files\Java\jdk1.8.0_202\jre\lib\security\'
为此,请导航到位于以下位置的 keytool 应用程序:
'C:\Program Files\Java\jdk1.8.0_202\jre\bin\'
跑
\keytool。exe-importcert-alias cosmos_emulator-file。\path\to\certfile\cosmos_emulator。证书-密钥库。\..\lib\security\cacerts
将出现“信任此证书?”
的提示,键入 yes。接下来,它将询问密钥库密码;默认值为 changeit。
这需要在具有提升权限的终端上完成。否则,它将引发异常。
注意:您必须在每次系统重新启动时执行此操作,因此在安装新证书之前,使用keytools命令删除旧证书:
\keytool。exe-delete-noprompt-alias-cosmos_emulator-file.\path\to\certfile\cosmos-emulator。证书-密钥库。\..\lib\security\cacerts
当提示删除时,输入默认密码更改。
问题内容: 我已经在服务器上安装了Kibana 5.4和Elastic search 5.4,我可以通过使用本地计算机上的curl来访问Kibana和Elastic search 我得到以下回应 var hashRoute =’/ app / kibana’; var defaultRoute =’/ app / kibana’; var hash = window.location.hash;
我已经在服务器上安装了Kibana 5.4和Elastic search 5.4,我可以使用 我得到以下回应 var hashRoute='/app/kibana'; var defaultRoute='/app/kibana'; var hash=window.location.hash; if(hash.length){window.location=hashRoute hash;}其他{wi
问题内容: 我最近安装了Elasticsearch,并且在开始的几天里一切正常,但是今天以某种方式停止了工作 当我启动该服务时,它声称很好… 但后来我明白了 查看elasticsearch日志: 看起来有关于Java VM的警告;那可能是问题吗?我还应该尝试/看看什么? 问题答案: 1) 使用linux中的命令 检查端口9200的状态 。 就我而言,以下是启动时的结果。 对我不是服务,否则找到正在
这几天来,我无法在本地运行mac os ML的机器上连接到我的postgreSQL数据库。 我机器的nmap显示postgres在5432上运行,我可以通过pgadmin和psql进行本地连接。 收听地址设置为* 当我尝试连接JDBC时,我会遇到以下异常 组织。postgresql。util。PSQLException:连接被拒绝。检查主机名和端口是否正确,邮政局长是否接受TCP/IP连接。
问题内容: 我在通过Ruby-Watir Webdriver连接到Tor时遇到问题。 我使用Tor浏览器套件。问题是,当我尝试通过Watir(Selenium)连接时,似乎无法打开Tor而不是常规的Firefox。 在研究类似问题时,我尝试了以下方法: 当我使用上述代码时,我仍然会打开普通的firefox浏览器,并且无法连接到洋葱站点。 有什么想法吗?是否需要将Tor浏览器连接到我的webdriv
我正在尝试将sonarqube(版本5.1.2)与intellij(2016.2)集成。我已经添加了sonarLint插件。当我试图将一个sonar服务器添加到sonarLint设置中时,它会询问sonar服务器的用户名和密码以及其他细节,如URL。但它无法连接到声纳服务器,并出现错误:请求失败:https://example.com/api/system/status