繁体   English   中英

java.net.ConnectException:连接被拒绝:用 Spring boot 连接 Solr

[英]java.net.ConnectException: Connection refused: connect Solr with Spring boot

我是 solr 的新手。 我尝试使用 solr spring 数据工具使用 rest 调用从表中获取记录。 但是当我尝试从浏览器请求 url 时,我收到以下错误。

java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method) ~[na:1.8.0_25]
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) ~[na:1.8.0_25]
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) ~[na:1.8.0_25]
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_25]
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_25]
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[na:1.8.0_25]
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_25]
    at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_25]

我的代码是这样的:

用户对象:

public class User {

    @Field
    private String id;

    @Field
    private String fName;

    @Field
    private String lName;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getfName() {
        return fName;
    }

    public void setfName(String fName) {
        this.fName = fName;
    }

    public String getlName() {
        return lName;
    }

    public void setlName(String lName) {
        this.lName = lName;
    }
}

用户道:

public interface UserDao extends SolrCrudRepository<User, Long> {

}

用户控制器:

@RestController
@RequestMapping("/app/api")
public class UserController {

    @Autowired
    private UserDao userDao;

    @RequestMapping(value = "/users", method = RequestMethod.GET)
    public AjaxResponse loadAll() throws IOException {

        List<User> users = (List<User>) userDao.findAll();
        return new AjaxResponse("Success", false, users);
    }
}

Application.properties 文件:

server.port=9111

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/solrDatabase?autoReconnect=true
spring.datasource.username=root
spring.datasource.password=root

spring.data.solr.host=http://localhost:8983/solr/
spring.data.solr.repositories.enabled=true

当我尝试请求此 url 时: http://localhost:9111/app/api/users然后我收到异常。 谁能帮我。

java.net.ConnectException: Connection refused: connect异常被抛出,因为您的 Spring 应用程序无法连接到您的 Solr 服务器。 由于您提供的 URL, http://localhost:8983/solr/在您在浏览器中打开它时也不起作用,Solr 可能没有运行(只要您尝试从相同的当代码运行时主机,从您的其他示例 URL 看来,这似乎是正确的)。

在对应用程序进行任何更改之前,请确保 Solr 实际正在运行并且能够响应请求。

将以下属性添加到application.properties

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM