Search in sources :

Example 6 with Transformer

use of org.apache.activemq.artemis.core.server.transformer.Transformer in project activemq-artemis by apache.

the class BridgeTest method testInjectedTransformer.

@Test
public void testInjectedTransformer() throws Exception {
    final SimpleString ADDRESS = new SimpleString("myAddress");
    final SimpleString QUEUE = new SimpleString("myQueue");
    final String BRIDGE = "myBridge";
    ServiceRegistryImpl serviceRegistry = new ServiceRegistryImpl();
    Transformer transformer = new Transformer() {

        @Override
        public Message transform(Message message) {
            return null;
        }
    };
    serviceRegistry.addBridgeTransformer(BRIDGE, transformer);
    Configuration config = createDefaultInVMConfig().addConnectorConfiguration("in-vm", new TransportConfiguration(INVM_CONNECTOR_FACTORY));
    ActiveMQServer server = addServer(new ActiveMQServerImpl(config, null, null, null, serviceRegistry));
    server.start();
    server.waitForActivation(100, TimeUnit.MILLISECONDS);
    server.createQueue(ADDRESS, RoutingType.ANYCAST, QUEUE, null, false, false);
    List<String> connectors = new ArrayList<>();
    connectors.add("in-vm");
    server.deployBridge(new BridgeConfiguration().setName(BRIDGE).setQueueName(QUEUE.toString()).setForwardingAddress(ADDRESS.toString()).setStaticConnectors(connectors));
    Bridge bridge = server.getClusterManager().getBridges().get(BRIDGE);
    assertNotNull(bridge);
    assertEquals(transformer, ((BridgeImpl) bridge).getTransformer());
}
Also used : ServiceRegistryImpl(org.apache.activemq.artemis.core.server.impl.ServiceRegistryImpl) AddHeadersTransformer(org.apache.activemq.artemis.core.server.transformer.AddHeadersTransformer) Transformer(org.apache.activemq.artemis.core.server.transformer.Transformer) ClientMessage(org.apache.activemq.artemis.api.core.client.ClientMessage) SessionSendMessage(org.apache.activemq.artemis.core.protocol.core.impl.wireformat.SessionSendMessage) SessionSendContinuationMessage(org.apache.activemq.artemis.core.protocol.core.impl.wireformat.SessionSendContinuationMessage) SessionSendLargeMessage(org.apache.activemq.artemis.core.protocol.core.impl.wireformat.SessionSendLargeMessage) Message(org.apache.activemq.artemis.api.core.Message) TransformerConfiguration(org.apache.activemq.artemis.core.config.TransformerConfiguration) TransportConfiguration(org.apache.activemq.artemis.api.core.TransportConfiguration) Configuration(org.apache.activemq.artemis.core.config.Configuration) BridgeConfiguration(org.apache.activemq.artemis.core.config.BridgeConfiguration) CoreQueueConfiguration(org.apache.activemq.artemis.core.config.CoreQueueConfiguration) ArrayList(java.util.ArrayList) BridgeConfiguration(org.apache.activemq.artemis.core.config.BridgeConfiguration) SimpleString(org.apache.activemq.artemis.api.core.SimpleString) TransportConfiguration(org.apache.activemq.artemis.api.core.TransportConfiguration) SimpleString(org.apache.activemq.artemis.api.core.SimpleString) ActiveMQServerImpl(org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl) ActiveMQServer(org.apache.activemq.artemis.core.server.ActiveMQServer) Bridge(org.apache.activemq.artemis.core.server.cluster.Bridge) Test(org.junit.Test)

Example 7 with Transformer

use of org.apache.activemq.artemis.core.server.transformer.Transformer in project activemq-artemis by apache.

the class ServiceRegistryImpl method getBridgeTransformer.

@Override
public Transformer getBridgeTransformer(String name, TransformerConfiguration transformerConfiguration) {
    Transformer transformer = bridgeTransformers.get(name);
    if (transformer == null && transformerConfiguration != null && transformerConfiguration.getClassName() != null) {
        transformer = instantiateTransformer(transformerConfiguration);
        addBridgeTransformer(name, transformer);
    }
    return transformer;
}
Also used : Transformer(org.apache.activemq.artemis.core.server.transformer.Transformer)

Aggregations

Transformer (org.apache.activemq.artemis.core.server.transformer.Transformer)7 SimpleString (org.apache.activemq.artemis.api.core.SimpleString)4 Binding (org.apache.activemq.artemis.core.postoffice.Binding)3 Message (org.apache.activemq.artemis.api.core.Message)2 TransportConfiguration (org.apache.activemq.artemis.api.core.TransportConfiguration)2 ClientMessage (org.apache.activemq.artemis.api.core.client.ClientMessage)2 DivertBinding (org.apache.activemq.artemis.core.postoffice.impl.DivertBinding)2 ActiveMQServer (org.apache.activemq.artemis.core.server.ActiveMQServer)2 Divert (org.apache.activemq.artemis.core.server.Divert)2 ActiveMQServerImpl (org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl)2 ServiceRegistryImpl (org.apache.activemq.artemis.core.server.impl.ServiceRegistryImpl)2 Test (org.junit.Test)2 ArrayList (java.util.ArrayList)1 DiscoveryGroupConfiguration (org.apache.activemq.artemis.api.core.DiscoveryGroupConfiguration)1 ServerLocatorInternal (org.apache.activemq.artemis.core.client.impl.ServerLocatorInternal)1 BridgeConfiguration (org.apache.activemq.artemis.core.config.BridgeConfiguration)1 Configuration (org.apache.activemq.artemis.core.config.Configuration)1 CoreQueueConfiguration (org.apache.activemq.artemis.core.config.CoreQueueConfiguration)1 DivertConfiguration (org.apache.activemq.artemis.core.config.DivertConfiguration)1 TransformerConfiguration (org.apache.activemq.artemis.core.config.TransformerConfiguration)1