У меня есть Actuator, реализованный в приложении весенней загрузки, и этот код исполнительного механизма выполняется, когда я запускаю основной класс из некоторого ide, такого как Eclipse, но когда я запускаю .jar из терминала, этот код не выполняется во время выполнения. Есть ли какая-то разница в работе основного класса или опарника в приводе пружинного башмака?
Я попытался поставить sysout и распечатать его при запуске основного класса, но не при запуске jar-файла.
@Component
public class MicroServiceInfoConfiguror implements HealthIndicator, InfoContributor {
private static final Logger logger = LoggerFactory.getLogger(MicroserviceHealthIndicator.class);
@PersistenceContext
private EntityManager em;
@Override
public void contribute(Info.Builder builder) {
int a = 10/0;
System.out.println("*****************************Info***************************************************");
}
@Override
public Health health() {
int a = 10/0;
System.out.println("Here in health indicator..........................***********************************************");
int errorCode = check(); // perform some specific health check
if (errorCode != 0) {
return Health.down().withDetail("Error Code", errorCode).build();
}
return Health.up().build();
}
@Transactional(readOnly = true)
private int check() {
Integer count = null;
try {
Query query = em.createNativeQuery("select count(1) FROM system");
List results = query.getResultList();
for (Object next : results) {
count = ((BigInteger) next).intValue();
}
logger.info("Health Check:" + count);
System.out.println("Health Check:" + count);
} catch (Exception e) {
logger.error("Exception occurred in check()", e);
}
return (count != null && count.intValue() > 0) ? 0 : -1;
}
}
Он должен распечатать все sysout в обоих случаях