Сообщения

MS Lesson20: Load test

Изображение
Embedded Tomcat nədir? Klassik Java-da tətbiq ayrı, server ayrı olurdu: Köhnə üsul: [Tomcat server qurulur] → [WAR faylı deploy edilir] Spring Boot: [JAR faylının içində Tomcat var] → java -jar app.jar Spring Boot-da Tomcat   JAR-ın içindədir . Buna görə   ./ gradlew bootRun   etdikdə tətbiq özü serveri özü qaldırır.   Tomcat-ın Default Dəyərləri Parametr Default Dəyər Nə deməkdir? max-threads 200 Eyni anda maksimum neçə sorğu işlənir min-spare-threads 10 Həmişə hazır gözləyən minimum thread sayı accept-count 100 200 thread dolu olanda növbəyə neçə sorğu girə bilər connection-timeout 20000ms Bağlantı gözləmə vaxtı (20 saniyə) Spring Boot-da Necə Dəyişdirilir? application.yaml -a əlavə etmək kifayətdir: server : port : 8888 tomcat : threads : max : 200 # default 200 min-spare : 10 # default 10 accept-count : 100 # default 100 connection-timeout : 20000 Necə İşləyir? Gələn sorğular: ────────────────────────────────────────...

MS Lesson 19: Unit Test

1. Unit test klasinin uzerine:  @ExtendWith (MockitoExtension. class )   2.  package guru.springframework.cruddemo.testing; import org.assertj.core.api.Assertions; import org.junit.jupiter.api. Test ; import org.junit.jupiter.api.extension. ExtendWith ; import org.mockito. InjectMocks ; import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith (MockitoExtension. class ) public class CalculatorServiceTest { @InjectMocks private CalculatorService calculatorService ; @Test public void whenSumTwoNumbersThenSuccess () { // Arrange // Act int result = calculatorService .sum( 5 , 7 ); // Assert Assertions. assertThat (result).isEqualTo( 12 ); } } 3. package guru.springframework.cruddemo.testing; import org.assertj.core.api.Assertions; import org.junit.jupiter.api. Test ; import org.junit.jupiter.api.extension. ExtendWith ; import org.mockito. InjectMocks ; import org.mockito.junit.jupiter.MockitoExtension; @ExtendW...

MS Lesson 18: Dynamic Search

package az.etibarli.demospecification.service; import az.etibarli.demospecification.dto.request.ProductSearchRequest; import az.etibarli.demospecification.dto.request.SearchMatchMode; import az.etibarli.demospecification.entity.Product; import az.etibarli.demospecification.repository.ProductRepository; import az.etibarli.demospecification.specification.ProductSpecifications; import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; import jakarta.persistence.Query; import jakarta.persistence.criteria.CriteriaBuilder; import jakarta.persistence.criteria.CriteriaQuery; import jakarta.persistence.criteria.Predicate; import jakarta.persistence.criteria.Root; import lombok. RequiredArgsConstructor ; import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype. Service ; import org.springframework.transaction.annotation. Transactional ; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; ...