org.apache.activemq.artemis.core.server.cluster.Transformer

Here are the examples of the java api class org.apache.activemq.artemis.core.server.cluster.Transformer taken from open source projects.

1. ServiceRegistryImpl#instantiateTransformer()

Project: activemq-artemis
File: ServiceRegistryImpl.java
private Transformer instantiateTransformer(final String className) {
    Transformer transformer = null;
    if (className != null) {
        try {
            transformer = AccessController.doPrivileged(new PrivilegedAction<Transformer>() {

                @Override
                public Transformer run() {
                    return (Transformer) ClassloadingUtil.newInstanceFromClassLoader(className);
                }
            });
        } catch (Exception e) {
            throw ActiveMQMessageBundle.BUNDLE.errorCreatingTransformerClass(e, className);
        }
    }
    return transformer;
}

2. DivertTest#testInjectedTransformer()

Project: activemq-artemis
File: DivertTest.java
@Test
public void testInjectedTransformer() throws Exception {
    final SimpleString ADDRESS = new SimpleString("myAddress");
    final String DIVERT = "myDivert";
    ServiceRegistryImpl serviceRegistry = new ServiceRegistryImpl();
    Transformer transformer = new Transformer() {

        @Override
        public ServerMessage transform(ServerMessage message) {
            return null;
        }
    };
    serviceRegistry.addDivertTransformer(DIVERT, transformer);
    ActiveMQServer server = addServer(new ActiveMQServerImpl(null, null, null, null, serviceRegistry));
    server.start();
    server.waitForActivation(100, TimeUnit.MILLISECONDS);
    server.deployQueue(ADDRESS, SimpleString.toSimpleString("myQueue"), null, false, false);
    server.deployDivert(new DivertConfiguration().setName(DIVERT).setAddress(ADDRESS.toString()).setForwardingAddress(ADDRESS.toString()));
    Collection<Binding> bindings = server.getPostOffice().getBindingsForAddress(ADDRESS).getBindings();
    Divert divert = null;
    for (Binding binding : bindings) {
        if (binding instanceof DivertBinding) {
            divert = ((DivertBinding) binding).getDivert();
        }
    }
    assertNotNull(divert);
    assertEquals(transformer, divert.getTransformer());
}

3. BridgeTest#testInjectedTransformer()

Project: activemq-artemis
File: BridgeTest.java
@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 ServerMessage transform(ServerMessage 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.deployQueue(ADDRESS, 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());
}

4. ServiceRegistryImpl#getBridgeTransformer()

Project: activemq-artemis
File: ServiceRegistryImpl.java
@Override
public Transformer getBridgeTransformer(String name, String className) {
    Transformer transformer = bridgeTransformers.get(name);
    if (transformer == null && className != null) {
        transformer = instantiateTransformer(className);
        addBridgeTransformer(name, transformer);
    }
    return transformer;
}

5. ServiceRegistryImpl#getDivertTransformer()

Project: activemq-artemis
File: ServiceRegistryImpl.java
@Override
public Transformer getDivertTransformer(String name, String className) {
    Transformer transformer = divertTransformers.get(name);
    if (transformer == null && className != null) {
        transformer = instantiateTransformer(className);
        addDivertTransformer(name, transformer);
    }
    return transformer;
}

6. ActiveMQServerImpl#deployDivert()

Project: activemq-artemis
File: ActiveMQServerImpl.java
@Override
public void deployDivert(DivertConfiguration config) throws Exception {
    if (config.getName() == null) {
        ActiveMQServerLogger.LOGGER.divertWithNoName();
        return;
    }
    if (config.getAddress() == null) {
        ActiveMQServerLogger.LOGGER.divertWithNoAddress();
        return;
    }
    if (config.getForwardingAddress() == null) {
        ActiveMQServerLogger.LOGGER.divertWithNoForwardingAddress();
        return;
    }
    SimpleString sName = new SimpleString(config.getName());
    if (postOffice.getBinding(sName) != null) {
        ActiveMQServerLogger.LOGGER.divertBindingNotExists(sName);
        return;
    }
    SimpleString sAddress = new SimpleString(config.getAddress());
    Transformer transformer = getServiceRegistry().getDivertTransformer(config.getName(), config.getTransformerClassName());
    Filter filter = FilterImpl.createFilter(config.getFilterString());
    Divert divert = new DivertImpl(new SimpleString(config.getForwardingAddress()), sName, new SimpleString(config.getRoutingName()), config.isExclusive(), filter, transformer, postOffice, storageManager);
    Binding binding = new DivertBinding(storageManager.generateID(), sAddress, divert);
    postOffice.addBinding(binding);
    managementService.registerDivert(divert, config);
}