
org.fabric3.binding.nats.runtime.NATSConnectionTargetAttacher Maven / Gradle / Ivy
The newest version!
package org.fabric3.binding.nats.runtime;
import java.util.function.Function;
import nats.client.Nats;
import org.fabric3.api.annotation.wire.Key;
import org.fabric3.api.host.runtime.HostInfo;
import org.fabric3.binding.nats.provision.NATSConnectionTarget;
import org.fabric3.spi.container.builder.TargetConnectionAttacher;
import org.fabric3.spi.container.channel.ChannelConnection;
import org.fabric3.spi.container.component.ComponentManager;
import org.fabric3.spi.model.physical.PhysicalConnectionSource;
import org.oasisopen.sca.annotation.Reference;
/**
*
*/
@Key("org.fabric3.binding.nats.provision.NATSConnectionTarget")
public class NATSConnectionTargetAttacher implements TargetConnectionAttacher {
@Reference
protected HostInfo info;
@Reference
protected ComponentManager cm;
@Reference
protected NATSConnectionManager connectionManager;
@SuppressWarnings("unchecked")
public void attach(PhysicalConnectionSource source, NATSConnectionTarget target, ChannelConnection connection) {
Nats nats = connectionManager.getNats(target);
if (!source.isDirectConnection()) {
String topic = target.getTopic() != null ? target.getTopic() : target.getDefaultTopic();
String serializerName = target.getData().getSerializer();
Function
© 2015 - 2025 Weber Informatics LLC | Privacy Policy