我正在开发一个由多个微服务组成的基于 Spring 的应用程序。我的一个微服务充当 Eureka 服务器,到目前为止一切正常。
在我所有的其他微服务(用@EnableEurekaClient注释)中,我想启用这样的健康检查:
应用程序.yml
eureka:
client:
healthcheck:
enabled: true
Run Code Online (Sandbox Code Playgroud)
我注意到的第一件事是我的 IDE 显示了一个错误:
无法解析配置属性“eureka.client.healthcheck.enabled”
这发生在 Intellij Idea 和 STS 中,所以我认为这不仅仅是 IDE 错误!
应用程序启动失败,并显示一个长UnsatisfiedDependencyException,其根本原因如下:
引起:java.lang.ClassNotFoundException:org.springframework.boot.actuate.health.OrderedHealthAggregator at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_151] at java.lang.ClassLoader。 loadClass(ClassLoader.java:424) ~[na:1.8.0_151] 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) ~[na:1.8.0_151] 在 java.lang.ClassLoader.loadClass( ClassLoader.java:357) ~[na:1.8.0_151] ... 省略了 87 个常用帧
如果我将compile('org.springframework.boot:spring-boot-starter-actuator') 添加到我的 build.gradle 文件(我假设,这是错误消息想要告诉我的),它会编译并正常启动。但是,IDE 仍然向我显示上述错误。
我的问题如下:
1.如果想要使用 Eureka 健康检查,执行器是否需要在类路径上的预期行为?
2.为什么我的 IDE 会收到错误信息?
感谢帮助!
我的Angular模板中需要HTML片段不止一次。我决定不将HTML代码编写多次,而是决定将其放在ng-template元素内,并使用代码中复制的元素。
例如:
<ng-template #myTemplate>
<h1>Some Header</h1>
<p>Some text...</p>
</ng-template>
Run Code Online (Sandbox Code Playgroud)
现在如何在模板中的某个位置包含此ng-template元素?
我知道,这可以通过使用ngIf语句来实现,如下所示:
<div *ngIf="false; else myTemplate"></div>
Run Code Online (Sandbox Code Playgroud)
但是,这对我来说就像是肮脏的骇客。还有其他可能性吗?
说,我有以下实体类:
人.java
@Entity
public class Person {
@Id
private String name;
private String[] cars;
// Constructor, getters and setters
}
Run Code Online (Sandbox Code Playgroud)
和存储库:
PersonRepository.java
public interface PersonRepository extends CrudRepository<Person, String> {
// this is unclear!
List<Person> getAllByCars...(String car)
}
Run Code Online (Sandbox Code Playgroud)
是否有一种方法可以返回所有人员,其汽车数组包含一个给定的汽车(上面的 String 参数)?
对我来说,似乎所有支持的 JPA 关键字都只能处理单个元素,而不能处理数组。
感谢帮助!