All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ameba.tenancy.amqp.TenantAmqpHeaderResolver Maven / Gradle / Ivy

There is a newer version: 4.1.0-jdk17
Show newest version
package org.ameba.tenancy.amqp;

import org.ameba.amqp.MessagePostProcessorProvider;
import org.ameba.tenancy.TenantHolder;
import org.springframework.amqp.core.MessagePostProcessor;

import static org.ameba.tenancy.amqp.TenantAmqpConfiguration.TENANT_AMPQ_HEADER;

/**
 * A TenantAmqpHeaderResolver is used on receiving side and retrieves the tenant from the AMQP header {@value TenantAmqpConfiguration#TENANT_AMPQ_HEADER}.
 *
 * @author matjaz
 */
public class TenantAmqpHeaderResolver implements MessagePostProcessorProvider {

    /**
     * {@inheritDoc}
     */
    @Override
    public MessagePostProcessor getMessagePostProcessor() {
        return (m -> {
            var tenant = (String) m.getMessageProperties().getHeaders().get(TENANT_AMPQ_HEADER);
            if (tenant != null) {
                TenantHolder.setCurrentTenant(tenant);
            }
            return m;
        });
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy