public synchronized ActiveMQConnectionFactory getConnectionFactory(final ConnectionFactoryProperties overrideProperties) { ActiveMQConnectionFactory cf; boolean known = false; if (!knownConnectionFactories.keySet().contains(overrideProperties)) { cf = newConnectionFactory(overrideProperties); knownConnectionFactories.put(overrideProperties, new Pair<>(cf, new AtomicInteger(1))); } else { Pair<ActiveMQConnectionFactory, AtomicInteger> pair = knownConnectionFactories.get(overrideProperties); cf = pair.getA(); pair.getB().incrementAndGet(); known = true; } if (known && cf.getServerLocator().isClosed()) { knownConnectionFactories.remove(overrideProperties); cf = newConnectionFactory(overrideProperties); knownConnectionFactories.put(overrideProperties, new Pair<>(cf, new AtomicInteger(1))); } return cf; }
public synchronized ActiveMQConnectionFactory getConnectionFactory(final ConnectionFactoryProperties overrideProperties) { ActiveMQConnectionFactory cf; boolean known = false; if (!knownConnectionFactories.keySet().contains(overrideProperties)) { cf = newConnectionFactory(overrideProperties); knownConnectionFactories.put(overrideProperties, new Pair<>(cf, new AtomicInteger(1))); } else { Pair<ActiveMQConnectionFactory, AtomicInteger> pair = knownConnectionFactories.get(overrideProperties); cf = pair.getA(); pair.getB().incrementAndGet(); known = true; } if (known && cf.getServerLocator().isClosed()) { knownConnectionFactories.remove(overrideProperties); cf = newConnectionFactory(overrideProperties); knownConnectionFactories.put(overrideProperties, new Pair<>(cf, new AtomicInteger(1))); } return cf; }
/** * Setup the factory */ protected void setup() throws ActiveMQException { raProperties.init(); defaultActiveMQConnectionFactory = newConnectionFactory(raProperties); recoveryActiveMQConnectionFactory = createRecoveryActiveMQConnectionFactory(raProperties); Map<String, String> recoveryConfProps = new HashMap<>(); recoveryConfProps.put(XARecoveryConfig.JNDI_NAME_PROPERTY_KEY, getJndiName()); recoveryManager.register(recoveryActiveMQConnectionFactory, raProperties.getUserName(), raProperties.getPassword(), recoveryConfProps); }
/** * Setup the factory */ protected void setup() throws ActiveMQException { raProperties.init(); defaultActiveMQConnectionFactory = newConnectionFactory(raProperties); recoveryActiveMQConnectionFactory = createRecoveryActiveMQConnectionFactory(raProperties); Map<String, String> recoveryConfProps = new HashMap<>(); recoveryConfProps.put(XARecoveryConfig.JNDI_NAME_PROPERTY_KEY, getJndiName()); recoveryManager.register(recoveryActiveMQConnectionFactory, raProperties.getUserName(), raProperties.getPassword(), recoveryConfProps); }
protected void setupCF() throws Exception { if (spec.getConnectionFactoryLookup() != null) { Context ctx; if (spec.getParsedJndiParams() == null) { ctx = new InitialContext(); } else { ctx = new InitialContext(spec.getParsedJndiParams()); } Object fac = ctx.lookup(spec.getConnectionFactoryLookup()); if (fac instanceof ActiveMQConnectionFactory) { // This will clone the connection factory // to make sure we won't close anyone's connection factory when we stop the MDB factory = ActiveMQJMSClient.createConnectionFactory(((ActiveMQConnectionFactory) fac).toURI().toString(), "internalConnection"); factory.setEnableSharedClientID(true); factory.setEnable1xPrefixes(((ActiveMQConnectionFactory) fac).isEnable1xPrefixes()); } else { factory = ra.newConnectionFactory(spec); } } else { factory = ra.newConnectionFactory(spec); } }
protected void setupCF() throws Exception { if (spec.getConnectionFactoryLookup() != null) { Context ctx; if (spec.getParsedJndiParams() == null) { ctx = new InitialContext(); } else { ctx = new InitialContext(spec.getParsedJndiParams()); } Object fac = ctx.lookup(spec.getConnectionFactoryLookup()); if (fac instanceof ActiveMQConnectionFactory) { // This will clone the connection factory // to make sure we won't close anyone's connection factory when we stop the MDB factory = ActiveMQJMSClient.createConnectionFactory(((ActiveMQConnectionFactory) fac).toURI().toString(), "internalConnection"); factory.setEnableSharedClientID(true); factory.setEnable1xPrefixes(((ActiveMQConnectionFactory) fac).isEnable1xPrefixes()); } else { factory = ra.newConnectionFactory(spec); } } else { factory = ra.newConnectionFactory(spec); } }
@Test public void testActivationDeserializationParameters() throws Exception { ActiveMQServer server = createServer(false); try { server.start(); ActiveMQResourceAdapter ra = new ActiveMQResourceAdapter(); ra.setConnectorClassName(INVM_CONNECTOR_FACTORY); ra.setUserName("userGlobal"); ra.setPassword("passwordGlobal"); ra.setDeserializationWhiteList("a.b.c.d.e"); ra.setDeserializationBlackList("f.g.h.i.j"); ra.start(new BootstrapContext()); ActiveMQConnectionFactory factory = ra.getDefaultActiveMQConnectionFactory(); assertEquals("a.b.c.d.e", factory.getDeserializationWhiteList()); assertEquals("f.g.h.i.j", factory.getDeserializationBlackList()); ConnectionFactoryProperties overrides = new ConnectionFactoryProperties(); overrides.setDeserializationWhiteList("k.l.m.n"); overrides.setDeserializationBlackList("o.p.q.r"); factory = ra.newConnectionFactory(overrides); assertEquals("k.l.m.n", factory.getDeserializationWhiteList()); assertEquals("o.p.q.r", factory.getDeserializationBlackList()); ra.stop(); } finally { server.stop(); } }