Posts

Showing posts from June, 2022

libfontmanager.so: libfreetype.so.6 not found error in docker image when trying to generate excel with Apache Poi

  FROM openjdk: 11.0.3 - jdk-slim-stretch imageinde  libfontmanager.so: libfreetype.so.6 bu lib olmur ona gorede. ,apache poi ile excel generate etmeye chalishanda xeta aliriq Xetanin ozu:  "java.lang.UnsatisfiedLinkError: /usr/local/openjdk-11/lib/libfontmanager.so: libfreetype.so.6: cannot open shared object file: No such file or directory Hell etmek uchun Dockerfile a bu stepi elave etmek lazimdir RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends fontconfig libfreetype6; \ rm -rf /var/lib/apt/lists/* Menbe: https://hub.docker.com/r/hydrz/openjdk/dockerfile

Testing mock with Clock object for LocalDateTime now

 LocalDateTime.now() will create problem when unit testing, for this purpose using help of Clock object is recommended way. Let's see example: @Service @RequiredArgsConstructor @Slf4j public class OrdersServiceImpl implements OrdersService { private final OrdersRepository ordersRepository ; private final OrdersDeliveryEventsRepository ordersDeliveryEventsRepository ; private final MailService mailService ; private final Clock clock = Clock. systemDefaultZone () ; private final FileGenerator fileGenerator ; @Override @Scheduled (cron = "${cron.expression}" ) @SchedulerLock (name = "TaskScheduler_processOrders" , lockAtMostFor = "15M" , lockAtLeastFor = "2M" ) public void processOrders () throws IOException { log .info( "processOrders started" ) ; List<OrdersEntity> unsentOrders = ordersRepository .getUnsentOrders(LocalDateTime. now ( clock ).minusDa...