2017-01-20 66 views
0

私はsolrを使い慣れていません。私はソルバースプリングデータツールを使ってレストコールを使ってテーブルからレコードを取得しようとしています。しかし、ブラウザから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 

私はこのURLを要求しようとしています: http://localhost:9111/app/api/users その後、私は例外を取得しています。誰でも私を助けることができます。

+0

ブラウザでhttp:// localhost:8983/solr/workを使用できますか? – MatsLindh

+0

いいえ、http:// localhost:8983/solr /が動作していません。 –

答えて

2

SpringアプリケーションがあなたのSolrサーバに接続できないため、java.net.ConnectException: Connection refused: connect例外がスローされます。あなたが提供したURLのhttp://localhost:8983/solr/はブラウザで開くと動作しないため、Solrはおそらく実行されていません(コードが実行されているのと同じホストから接続しようとしている限り、あなたの他の例のURLからは真実であると思われます)。

Solrが実際に実行され、アプリケーションに変更を加える前に要求に応答できることを確認してください。

関連する問題