BypassShipmentPositionCache.java
package com.ecommerce.fulfillment.infrastructure.geo;
import com.ecommerce.fulfillment.application.port.ShipmentPositionCache;
import com.ecommerce.fulfillment.application.port.ShipmentPositionRepository.Position;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Optional;
@Component
@ConditionalOnProperty(
prefix = "ecommerce.fulfillment.geo",
name = "cache-enabled",
havingValue = "false")
public class BypassShipmentPositionCache implements ShipmentPositionCache {
@Override
public Optional<Position> get(String fulfillmentNo) {
return Optional.empty();
}
@Override
public void put(Position position) {
// MySQL remains authoritative when the rebuildable Redis projection is disabled.
}
@Override
public int rebuild(List<Position> positions) {
return 0;
}
}