gpt4 book ai didi

java - 使用 Solrj 进行基本身份验证时,出现错误 "Caused by: java.net.SocketException: Connection reset"

转载 作者:行者123 更新时间:2023-12-01 19:40:28 30 4
gpt4 key购买 nike

当使用带有基本身份验证的 Solrj 时,出现错误“Caused by: java.net.SocketException: Connection Reset”(连接到测试主机),而如果我连接到本地 Solr(没有基本身份验证)或直接curl,它可以工作没有问题。寻找任何建议/指示。

使用curl(连接到测试主机):

    curl -i --user userName:pwd https://hostname:3001/solr/Subscriptions/select?q=*:*

不工作:(连接到测试主机)

/基本身份验证/


SolrClient client = new
HttpSolrClient.Builder("https://hostname:3001/solr/Subscriptions").build();
QueryRequest req = new QueryRequest(new SolrQuery("*:*"));
req.setBasicAuthCredentials("userName", "pwd");
QueryResponse rsp = req.process(client);

工作(没有连接到本地主机的基本身份验证):

    SolrClient client = new 
HttpSolrClient.Builder("https://localhost:8993/solr/Subscriptions").build();
SolrQuery query = new SolrQuery();
query.setQuery("*:*");
query.setFields("Subscriptions-type","id", "subscriber-id");
QueryResponse response = client.query(query);
logger.info("Starting Solr Search to get the complete Subscriptions");
SolrDocumentList results = response.getResults();
logger.info("Completed Solr Search to get the complete Subscriptions");

a) 不确定为什么我收到“java.net.SocketException:连接重置”?b)我还看到在引用文献中他们使用“req.process(client)”,但是对象“client”的类型是什么?

失败堆栈跟踪:-

Regular task started using Cron at 12/04/2019 16:04:29
2019-12-04 16:04:31.094 INFO 47033 --- [ scheduling-1] o.apache.http.impl.execchain.RetryExec : I/O exception (java.net.SocketException) caught when processing request to {s}->https://hostname:3001: Connection reset
2019-12-04 16:04:31.094 INFO 47033 --- [ scheduling-1] o.apache.http.impl.execchain.RetryExec : Retrying request to {s}->https://hostname:3001
2019-12-04 16:04:31.766 INFO 47033 --- [ scheduling-1] o.apache.http.impl.execchain.RetryExec : I/O exception (java.net.SocketException) caught when processing request to {s}->https://hostname:3001: Connection reset
2019-12-04 16:04:31.766 INFO 47033 --- [ scheduling-1] o.apache.http.impl.execchain.RetryExec : Retrying request to {s}->https://hostname:3001
2019-12-04 16:04:32.408 INFO 47033 --- [ scheduling-1] o.apache.http.impl.execchain.RetryExec : I/O exception (java.net.SocketException) caught when processing request to {s}->https://hostname:3001: Connection reset
2019-12-04 16:04:32.408 INFO 47033 --- [ scheduling-1] o.apache.http.impl.execchain.RetryExec : Retrying request to {s}->https://hostname:3001
2019-12-04 16:04:33.090 ERROR 47033 --- [ scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler : Unexpected error occurred in scheduled task.

org.apache.solr.client.solrj.SolrServerException: IOException occured when talking to server at: https://hostname:3001/solr/Subscriptions
at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:657) ~[solr-solrj-7.4.0.jar:7.4.0 9060ac689c270b02143f375de0348b7f626adebc - jpountz - 2018-06-18 16:55:14]
at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:255) ~[solr-solrj-7.4.0.jar:7.4.0 9060ac689c270b02143f375de0348b7f626adebc - jpountz - 2018-06-18 16:55:14]
at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:244) ~[solr-solrj-7.4.0.jar:7.4.0 9060ac689c270b02143f375de0348b7f626adebc - jpountz - 2018-06-18 16:55:14]
at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:194) ~[solr-solrj-7.4.0.jar:7.4.0 9060ac689c270b02143f375de0348b7f626adebc - jpountz - 2018-06-18 16:55:14]
at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:211) ~[solr-solrj-7.4.0.jar:7.4.0 9060ac689c270b02143f375de0348b7f626adebc - jpountz - 2018-06-18 16:55:14]
......
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:209) ~[na:1.8.0_45]
at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[na:1.8.0_45]
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) ~[na:1.8.0_45]
at sun.security.ssl.InputRecord.read(InputRecord.java:503) ~[na:1.8.0_45]
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:961) ~[na:1.8.0_45]
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1363) ~[na:1.8.0_45]
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1391) ~[na:1.8.0_45]
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1375) ~[na:1.8.0_45]
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:396) ~[httpclient-4.5.6.jar:4.5.6]
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:355) ~[httpclient-4.5.6.jar:4.5.6]
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) ~[httpclient-4.5.6.jar:4.5.6]
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:373) ~[httpclient-4.5.6.jar:4.5.6]
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:394) ~[httpclient-4.5.6.jar:4.5.6]
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237) ~[httpclient-4.5.6.jar:4.5.6]
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185) ~[httpclient-4.5.6.jar:4.5.6]
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) ~[httpclient-4.5.6.jar:4.5.6]
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) ~[httpclient-4.5.6.jar:4.5.6]
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) ~[httpclient-4.5.6.jar:4.5.6]
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) ~[httpclient-4.5.6.jar:4.5.6]
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56) ~[httpclient-4.5.6.jar:4.5.6]
at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:542) ~[solr-solrj-7.4.0.jar:7.4.0 9060ac689c270b02143f375de0348b7f626adebc - jpountz - 2018-06-18 16:55:14]
... 20 common frames omitted

最佳答案

您必须按以下方式使用 solrj 客户端库访问 solr 服务器。您必须提供运行 solr 的系统的实际 IP 地址和端口号。

String solrServerUrl = "https://<IP Address>:<portNo>/solr/Subscriptions";//enter actual IP address and port
SolrClient client = new HttpSolrClient.Builder(solrServerUrl ).build();

如果solr服务器启用了https,则必须引用以下引用链接。

https://lucene.apache.org/solr/guide/7_6/enabling-ssl.html

关于java - 使用 Solrj 进行基本身份验证时,出现错误 "Caused by: java.net.SocketException: Connection reset",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59178253/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com