#java #spring #spring-boot #cloud #service-discovery
#java #spring #spring-boot #облако #обнаружение службы
Вопрос:
Я собираюсь прочитать конфигурацию в Nacos в моем контроллере. В Windows я могу прочитать ее правильно, но не в Linux. Мне это нужно для реализации REST API для загрузки и выгрузки файлов с Java Spring Cloud. Я отлично понял это в Windows. Но это вообще не работает в Linux.
Вот подробности.
JDK: 1.8
pom.xml
<spring.boot.version>2.2.11.RELEASE</spring.boot.version>
<spring.plugin.version>2.2.0.RELEASE</spring.plugin.version>
<spring.cloud.version>Hoxton.SR8</spring.cloud.version>
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/media-file")
@Api(value = "File Upload", tags = "")
public class MediaFileController extends BladeController {
public static final String MEDIA_FILE_TYPE_BOND_PRICE = "bondPrice";
@Autowired
public Environment env;
@PostMapping("upload")
@ApiOperationSupport(order = 12)
@ApiOperation(value = "Upload", notes = "Import excel")
public R upload(MultipartFile file, @ApiParam(value = "文件类型", required = true) @RequestParam
String type, @RequestParam Map<String, Object> data) {
log.info("===> " this.env.getProperty("spring.servlet.multipart.file-size-threshold"));
}
}
Проблема:
Я могу прочитать точное значение this.env.getProperty("spring.servlet.multipart.file-size-threshold")
в Windows. Но я не мог прочитать это в Linux. Я хотел бы знать, как я могу получить доступ к конфигурации narcos.
Кроме того, загрузка файлов вообще не работает в Linux. Существует ли какая-либо конкретная настройка конфигурации или разрешений?
Заранее спасибо!
Ответ №1:
вы можете ввести свою конфигурацию следующим образом:
@NacosValue(value = "${spring.application.name}", autoRefreshed = true)
private String applicationName;