質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Elasticsearch

Elasticsearchは、クラウド向けに構築された、RESTful な API を提供する分散型のサーチエンジンアプリケーションです。

REST

REST(Representational State Transfer)はwebアプリケーションの構築スタイルの一種です。HTTP GET/POSTによってリクエストを送信し、レスポンスはXMLで返されます。SOAPのようなRPCの構築と比べるとサーバからクライアントを分離することが出来る為、人気です。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

2回答

4326閲覧

Spring Framework での I/O error

syk.tmr

総合スコア15

Elasticsearch

Elasticsearchは、クラウド向けに構築された、RESTful な API を提供する分散型のサーチエンジンアプリケーションです。

REST

REST(Representational State Transfer)はwebアプリケーションの構築スタイルの一種です。HTTP GET/POSTによってリクエストを送信し、レスポンスはXMLで返されます。SOAPのようなRPCの構築と比べるとサーバからクライアントを分離することが出来る為、人気です。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2019/04/18 05:43

編集2019/04/18 11:57

Spring Framework で Elasticsearch を使い、
既存のデータを消去するためのコードを書いていたところ、
以下のエラーに遭遇し実行することができませんでした。
解決法の手がかりをアドバイスしていただきたいです。
他ファイル、バージョン等必要な情報があればお伝えください。随時追記していきます。
どうぞよろしくお願いいたします。

Spring Boot Version: 2.1.0
Elastic Search Version: 6.5.0
Java: 10.0.2

<エラー内容>

org.springframework.web.client.ResourceAccessException: I/O error on DELETE request for "http://localhost:9200/practical-java": Connection refused: connect; nested exception is java.net.ConnectException: Connection refused: connect at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:743) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:669) at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:578) at com.course.practicaljava.common.CarElasticDatasource.populateData(CarElasticDatasource.java:36) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.springframework.context.event.ApplicationListenerMethodAdapter.doInvoke(ApplicationListenerMethodAdapter.java:261) at org.springframework.context.event.ApplicationListenerMethodAdapter.processEvent(ApplicationListenerMethodAdapter.java:180) at org.springframework.context.event.ApplicationListenerMethodAdapter.onApplicationEvent(ApplicationListenerMethodAdapter.java:142) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:398) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:355) at org.springframework.boot.context.event.EventPublishingRunListener.running(EventPublishingRunListener.java:105) at org.springframework.boot.SpringApplicationRunListeners.running(SpringApplicationRunListeners.java:78) at org.springframework.boot.SpringApplication.run(SpringApplication.java:332) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248) at com.course.practicaljava.PracticalJavaApplication.main(PracticalJavaApplication.java:15) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) Caused by: java.net.ConnectException: Connection refused: connect at java.base/java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.base/java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:400) at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:243) at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:225) at java.base/java.net.PlainSocketImpl.connect(PlainSocketImpl.java:148) at java.base/java.net.Socket.connect(Socket.java:591) at java.base/java.net.Socket.connect(Socket.java:540) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569) at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:242) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:341) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:362) at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1242) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1181) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1075) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1009) at org.springframework.http.client.SimpleBufferingClientHttpRequest.executeInternal(SimpleBufferingClientHttpRequest.java:76) at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48) at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:734) ... 26 more

<書いたコード>

package com.course.practicaljava.common; import java.util.ArrayList; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.event.EventListener; import org.springframework.http.HttpMethod; import org.springframework.stereotype.Component; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; import com.course.practicaljava.repository.CarElasticRepository; import com.course.practicaljava.rest.domain.Car; import com.course.practicaljava.rest.service.CarService; @Component public class CarElasticDatasource { @Autowired private CarElasticRepository carElasticRepository; @Autowired private CarService randomCarService; @Autowired private RestTemplate restTemplate; private static final Logger log = LoggerFactory.getLogger(CarElasticDatasource.class); @EventListener(org.springframework.boot.context.event.ApplicationReadyEvent.class) public void populateData() { log.info("Start DELETE"); try { var response = restTemplate.exchange("http://localhost:9200/practical-java", HttpMethod.DELETE, null, String.class); log.info("DELETE result : " + response.getBody()); } catch (RestClientException e) { // TODO Auto-generated catch block e.printStackTrace(); } var cars = new ArrayList<Car>(); for (int i = 0; i < 10000; i++) { cars.add(randomCarService.generateCar()); } carElasticRepository.saveAll(cars); log.info("Car in Elasticsearch : " + carElasticRepository.count()); } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

URLにdeleteしたいリソースのmappingとIDの指定も必要なのではないでしょうか?

https://www.elastic.co/guide/en/elasticsearch/reference/6.5/docs-delete.html

投稿2019/04/18 11:14

takyafumin

総合スコア2335

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

Elastic Search 立ち上げてなかったのが問題でした。
ただ将来遭遇しそうなエラーに対するコメントをいただけたことは大変光栄です。
ありがとうございました。

投稿2019/04/18 13:25

syk.tmr

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takyafumin

2019/04/18 14:53

今回の事例としてはハズレでしたね。すみません。 ともあれ、解決して何よりです。
syk.tmr

2019/04/19 01:57

いえ、コメントありがとうございました。 takyafumin さんの事例も調べてみましたが、 ・elastic search 初学者ということ ・元々わかりにくいテキストを使っていたため 上記の理由で elastic search 立ち上げの観念が抜けていました。 次回以降気を付けていきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問