Skip to content

Commit e8bb010

Browse files
committed
add Health Check uri to liveness and readiness probes
1 parent 14058b7 commit e8bb010

File tree

7 files changed

+81
-21
lines changed

7 files changed

+81
-21
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package org.hibernate.demo.message.account.core.service;
2+
3+
import java.util.List;
4+
import javax.ejb.Stateless;
5+
import javax.inject.Inject;
6+
import javax.ws.rs.GET;
7+
import javax.ws.rs.Path;
8+
import javax.ws.rs.Produces;
9+
import javax.ws.rs.core.MediaType;
10+
11+
import org.hibernate.demo.message.account.core.entity.User;
12+
import org.hibernate.demo.message.account.core.repo.UserRepo;
13+
14+
import org.slf4j.Logger;
15+
16+
@Path("/health")
17+
@Stateless
18+
public class HealthCheck {
19+
20+
@Inject
21+
private Logger log;
22+
23+
@Inject
24+
private UserRepo repo;
25+
26+
@GET
27+
@Produces(MediaType.APPLICATION_JSON)
28+
public List<User> healthCheck() {
29+
log.info( "healthCheck invoked by OCP" );
30+
31+
return repo.findAll();
32+
}
33+
34+
}

other/openshift/message-board/account-service/src/main/java/org/hibernate/demo/message/account/core/service/UserService.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
import javax.ws.rs.GET;
1414
import javax.ws.rs.POST;
1515
import javax.ws.rs.Path;
16-
import javax.ws.rs.PathParam;
1716
import javax.ws.rs.Produces;
17+
import javax.ws.rs.QueryParam;
1818
import javax.ws.rs.core.MediaType;
1919

2020
import org.hibernate.demo.message.account.core.entity.User;
@@ -37,9 +37,8 @@ public List<User> findAllUsers() {
3737
}
3838

3939
@GET
40-
@Path( "{username}" )
4140
@Produces(MediaType.APPLICATION_JSON)
42-
public User findByUsername(@PathParam("username") String username) {
41+
public User findByUsername(@QueryParam("username") String username) {
4342
return repo.findByUserName( username );
4443
}
4544

other/openshift/message-board/message-board-web/src/app/login.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export class LoginService {
2222
}
2323

2424
login(userName: String): Observable<User> {
25-
const url = `http://web-message-board.192.168.42.57.nip.io//users/?username=${userName}`;
25+
const url = `account-service/user?username=${userName}`;
2626
console.log(url);
2727
return this.http.get<User>(url).map(
2828
user => {

other/openshift/message-board/message-board-web/src/app/message/message.component.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55
<a *ngFor="let user of users"
66
routerLink="/message/{{user.userName}}" (click)="onSelect(user)"
77
[class.text-danger]="user.userName === userName"
8-
[class.text-info]="user.userName != userName"> <span
9-
class="badge" [class.badge-danger]="user.userName === userName"
10-
[class.badge-info]="user.userName != userName">{{ user.id }}</span>
11-
{{ user.userName }}
8+
[class.text-info]="user.userName != userName">
9+
<div>
10+
<span class="badge" [class.badge-danger]="user.userName === userName" [class.badge-info]="user.userName != userName">{{ user.id }}</span>
11+
{{ user.userName }}
12+
</div>
1213
</a>
1314
</div>
1415
</div>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package org.hibernate.demo.message.post.core.service;
2+
3+
import java.util.List;
4+
import javax.ejb.Stateless;
5+
import javax.inject.Inject;
6+
import javax.ws.rs.GET;
7+
import javax.ws.rs.Path;
8+
import javax.ws.rs.Produces;
9+
import javax.ws.rs.core.MediaType;
10+
11+
import org.hibernate.demo.message.post.core.entity.Message;
12+
13+
import org.slf4j.Logger;
14+
15+
@Path("/health")
16+
@Stateless
17+
public class HealthCheck {
18+
19+
@Inject
20+
private Logger log;
21+
22+
@Inject
23+
private MessageService service;
24+
25+
@GET
26+
@Produces(MediaType.APPLICATION_JSON)
27+
public List<Message> healthCheck() {
28+
log.info( "healthCheck invoked by OCP" );
29+
30+
return service.findMessagesByUser( "andrea" );
31+
}
32+
33+
}

other/openshift/message-board/message-service/src/main/java/org/hibernate/demo/message/post/core/service/MessageService.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,6 @@ public class MessageService {
4040
@Inject
4141
private Logger log;
4242

43-
@GET
44-
@Path( "{username}" )
45-
@Produces( MediaType.APPLICATION_JSON )
46-
public List<Message> findMessagesUser( @PathParam( "username" ) String username ) {
47-
return findMessagesByUser( username );
48-
}
49-
5043
@GET
5144
@Produces( MediaType.APPLICATION_JSON )
5245
public List<Message> findMessagesByUser( @QueryParam( "username" ) String username ) {

other/openshift/message-board/script/install-all.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ oc new-app --image-stream=eap71-openshift:latest~./nocontent -e OPENSHIFT_KUBE_P
3434
oc start-build message-service --from-dir=./message-service --follow
3535

3636
# Setting liveness probes
37-
oc set probe dc/account-service --liveness --failure-threshold 3 --initial-delay-seconds 30 --get-url=http://:8080/account-service/user
38-
oc set probe dc/message-service --liveness --failure-threshold 3 --initial-delay-seconds 30 --get-url=http://:8080/message-service/messages/fabio
39-
oc set probe dc/message-board-web --liveness --failure-threshold 3 --initial-delay-seconds 30 --get-url=http://:8080/
37+
oc set probe dc/account-service --liveness --failure-threshold 3 --initial-delay-seconds 30 --get-url=http://:8080/account-service/health
38+
oc set probe dc/message-service --liveness --failure-threshold 3 --initial-delay-seconds 30 --get-url=http://:8080/message-service/health
39+
#oc set probe dc/message-board-web --liveness --failure-threshold 3 --initial-delay-seconds 30 --get-url=http://:8080/
4040

4141
# Setting readiness probes
42-
oc set probe dc/account-service --readiness --failure-threshold 3 --initial-delay-seconds 30 --get-url=http://:8080/account-service/user
43-
oc set probe dc/message-service --readiness --failure-threshold 3 --initial-delay-seconds 30 --get-url=http://:8080/message-service/messages/fabio
44-
oc set probe dc/message-board-web --readiness --failure-threshold 3 --initial-delay-seconds 30 --get-url=http://:8080/
42+
oc set probe dc/account-service --readiness --failure-threshold 3 --initial-delay-seconds 30 --get-url=http://:8080/account-service/health
43+
oc set probe dc/message-service --readiness --failure-threshold 3 --initial-delay-seconds 30 --get-url=http://:8080/message-service/health
44+
#oc set probe dc/message-board-web --readiness --failure-threshold 3 --initial-delay-seconds 30 --get-url=http://:8080/
4545

4646
oc get pods -w

0 commit comments

Comments
 (0)