EnableEurekaClient deprecated

Рейтинг: 1Ответов: 1Опубликовано: 22.06.2023

Пытаюсь разобраться как пишутся микросервисы по курсу Javabegin "Микросервисы на Spring Cloud". Добавляю в проект модуль eureka-client, который должен отвечать за размещение, создание микросервисов на сервере микросервисов.

Есть класс EurekaClientApplication

@SpringBootApplication
public class EurekaClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaClientApplication.class, args);
    }

}

Согласно уроку нужно добавить аннотацию EnableEurekaClient, т.к. будет использоваться Spring Cloud, но такой аннотации что-то нет.. Версия Spring 3.1.0, а Spring cloud 2022.0.3.

Ниже также приведен gradle файл этого модуля

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.1.0'
    id 'io.spring.dependency-management' version '1.1.0'
}

group = 'ru.test.microdemo'
version = '0.0.1-SNAPSHOT'

java {
    sourceCompatibility = '17'
}

repositories {
    mavenCentral()
}

ext {
    set('springCloudVersion', "2022.0.3")
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

tasks.named('test') {
    useJUnitPlatform()
}

Какую аннотацию нужно добавить? Может быть аннотация EnableEurekaClient стала deprecated?

Ответы

▲ 0Принят

Вашу проблему можно решить несколькими способами:

  1. не используя аннотацию вовсе, т.к. наличия spring-cloud-starter-netflix-eureka-client в зависимостях достаточно для поднятия клиента

  2. используя @EnableDiscoveryClient вместо @EnableEurekaClient

  3. понизив версию:

extra["springCloudVersion"] = "2020.0.3"

dependencyManagement {
    imports {
        mavenBom("org.springframework.cloud:spring-cloud-dependencies:${property("springCloudVersion")}")
    }
}

можно использовать аннотацию @EnableEurekaClient из пакета org.springframework.cloud.netflix.eureka, т.е. вам нужно добавить импорт

import org.springframework.cloud.netflix.eureka.EnableEurekaClient;