2017-01-20 139 views
0

我是solr的新手。我尝试使用solr弹簧数据工具使用rest调用从表中获取记录。但是当我尝试从浏览器请求URL时,我得到以下错误。java.net.ConnectException:连接被拒绝:使用Spring启动连接Solr

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; 
    } 
} 

userDAO的:

public interface UserDao extends SolrCrudRepository<User, Long> { 

} 

UserController中:

@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); 
    } 
} 

Aplication.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 

当我尝试请求这个网址: http://localhost:9111/app/api/users 然后我得到异常。谁能帮我。

+0

http:// localhost:8983/solr /在您的浏览器中工作吗? – MatsLindh

+0

不,http:// localhost:8983/solr /不起作用。 –

回答

2

由于您的Spring应用程序无法连接到您的Solr服务器,因此会抛出java.net.ConnectException: Connection refused: connect异常。由于您提供的网址http://localhost:8983/solr/在浏览器中打开时不起作用,所以Solr可能不会运行(只要您尝试从代码运行时的同一主机连接,从你的另一个例子URL看起来是真的)。

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

相关问题