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
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
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
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
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
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
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); }