Skip to content

Instantly share code, notes, and snippets.

View kirshiyin89's full-sized avatar

Kirshi Yin kirshiyin89

View GitHub Profile
@kirshiyin89
kirshiyin89 / InventoryChecker.java
Created October 5, 2022 22:04
health checker health checker
@Component
public class InventoryChecker implements HealthIndicator {
private final BookRepository bookRepository;
private static final int MIN_AMOUNT = 10;
public InventoryChecker(BookRepository bookRepository) {
this.bookRepository = bookRepository;
}
public interface BookRepository extends JpaRepository<Book, Long> {
}
@kirshiyin89
kirshiyin89 / Book.java
Created October 5, 2022 22:02
entity book entity
@Entity
@Table(name = "Book")
@Getter
public class Book {
@Id
private Long id;
private String name;
@kirshiyin89
kirshiyin89 / application.yml
Created October 5, 2022 21:56
application.yml
spring:
application:
name: monitoring-demo
datasource:
driverClassName: org.h2.Driver
url: jdbc:h2:mem:testdb
username: sa
password: pass
jpa:
database-platform: org.hibernate.dialect.H2Dialect
@kirshiyin89
kirshiyin89 / pom.xml
Created October 5, 2022 21:54
health dependencies
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
package com.univocity.demo.rest;
import com.univocity.demo.dto.CsvData;
import com.univocity.demo.service.CsvDataService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@kirshiyin89
kirshiyin89 / CsvDataService.java
Created October 3, 2022 16:31
CsvDataService
package com.univocity.demo.service;
import com.univocity.demo.dto.CsvData;
import com.univocity.parsers.common.processor.BeanListProcessor;
import com.univocity.parsers.csv.CsvParser;
import com.univocity.parsers.csv.CsvParserSettings;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.io.InputStream;
@kirshiyin89
kirshiyin89 / CsvData.java
Created October 3, 2022 16:28
CsvData DTO
package com.univocity.demo.dto;
import com.univocity.parsers.annotations.Parsed;
import lombok.Data;
@Data
public class CsvData {
@Parsed(field = "SERVICE_ID")
private String id;
@kirshiyin89
kirshiyin89 / pom.xml
Created October 3, 2022 16:25
univocity dependencies
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<artifactId>spring-boot-starter-web</artifactId>
<groupId>org.springframework.boot</groupId>
</dependency>
@kirshiyin89
kirshiyin89 / CustomEndpoint.java
Created September 30, 2022 15:51
custom counter
@Endpoint(id = "customEndpoint")
@Component
public class CustomEndpoint {
private final Counter myCounter;
@ReadOperation
public String customEndpoint(int id) {
HashMap<Integer, String> fruitsMap = new HashMap<>();
fruitsMap.put(1, "kiwi");