S SmartDocs
Série: Bridget java 31 linhas · Atualizado 2026-05-08

PaymentServiceApplication.java

Bridget/payment-gateway-microservices/services/payment-service/src/main/java/com/checkout/paymentgw/payment/PaymentServiceApplication.java

package com.checkout.paymentgw.payment;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

/**
 * Write-side / orchestrator of the payment saga.
 *
 * <p>End-to-end flow for {@code POST /api/payments}:
 * <ol>
 *   <li>Validate (Jakarta Bean Validation + custom expiry validator)</li>
 *   <li>Idempotency check (Redis)</li>
 *   <li>Sync REST to {@code fraud-check-service} (≤ 250 ms, circuit-broken)</li>
 *   <li>Sync REST to {@code bank-adapter-service} (≤ 2 s, circuit-broken)</li>
 *   <li>Persist {@code payment} row + {@code payment_outbox} row in one transaction</li>
 *   <li>Outbox poller publishes to Kafka {@code payments.events}</li>
 *   <li>Return API response</li>
 * </ol>
 *
 * @see com.checkout.paymentgw.payment.application.CreatePaymentUseCase
 * @see com.checkout.paymentgw.payment.outbox.OutboxPublisher
 */
@SpringBootApplication
@EnableScheduling
public class PaymentServiceApplication {

    public static void main(String[] args) {
        SpringApplication.run(PaymentServiceApplication.class, args);
    }
}

Artigos relacionados

Bridget java Atualizado 2026-03-30

PaymentGatewayApplication.java

PaymentGatewayApplication.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/PaymentGatewayApplication.java).

Ler artigo →
Bridget java Atualizado 2026-03-20

ApplicationConfiguration.java

ApplicationConfiguration.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/configuration/ApplicationConfiguration.java).

Ler artigo →
Bridget java Atualizado 2026-03-30

RequestResponseLogger.java

RequestResponseLogger.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/configuration/RequestResponseLogger.java).

Ler artigo →
Bridget java Atualizado 2026-04-14

PaymentGatewayController.java

PaymentGatewayController.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/controller/PaymentGatewayController.java).

Ler artigo →
Bridget java Atualizado 2026-03-20

PaymentStatus.java

PaymentStatus.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/enums/PaymentStatus.java).

Ler artigo →
Bridget java Atualizado 2026-03-29

BankErrorException.java

BankErrorException.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/exception/BankErrorException.java).

Ler artigo →