2017-01-20 140 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實際上正在運行並能夠在對應用程序進行任何更改之前回答請求。

相關問題