@Override public ActiveMQConnectionFactory getDefaultFactory() throws ResourceException { return ((ActiveMQResourceAdapter) mcf.getResourceAdapter()).getDefaultActiveMQConnectionFactory(); }
@Override public ActiveMQConnectionFactory getDefaultFactory() throws ResourceException { return ((ActiveMQResourceAdapter) mcf.getResourceAdapter()).getDefaultActiveMQConnectionFactory(); }
@Test public void test2DefaultConnectionFactorySame() throws Exception { ActiveMQResourceAdapter ra = new ActiveMQResourceAdapter(); ra.setConnectorClassName(InVMConnectorFactory.class.getName()); ActiveMQConnectionFactory factory = ra.getDefaultActiveMQConnectionFactory(); ActiveMQConnectionFactory factory2 = ra.getDefaultActiveMQConnectionFactory(); Assert.assertEquals(factory, factory2); }
@Test public void testCreateConnectionFactoryOverrideConnector() throws Exception { ActiveMQResourceAdapter ra = new ActiveMQResourceAdapter(); ra.setConnectorClassName(InVMConnectorFactory.class.getName()); ConnectionFactoryProperties connectionFactoryProperties = new ConnectionFactoryProperties(); ArrayList<String> value = new ArrayList<>(); value.add(NettyConnectorFactory.class.getName()); connectionFactoryProperties.setParsedConnectorClassNames(value); ActiveMQConnectionFactory factory = ra.getConnectionFactory(connectionFactoryProperties); ActiveMQConnectionFactory defaultFactory = ra.getDefaultActiveMQConnectionFactory(); Assert.assertNotSame(factory, defaultFactory); }
@Test public void testCreateConnectionFactoryOverrideDiscovery() throws Exception { ActiveMQResourceAdapter ra = new ActiveMQResourceAdapter(); ra.setConnectorClassName(InVMConnectorFactory.class.getName()); ConnectionFactoryProperties connectionFactoryProperties = new ConnectionFactoryProperties(); connectionFactoryProperties.setDiscoveryAddress("myhost"); connectionFactoryProperties.setDiscoveryPort(5678); connectionFactoryProperties.setDiscoveryLocalBindAddress("newAddress"); ActiveMQConnectionFactory factory = ra.getConnectionFactory(connectionFactoryProperties); ActiveMQConnectionFactory defaultFactory = ra.getDefaultActiveMQConnectionFactory(); Assert.assertNotSame(factory, defaultFactory); DiscoveryGroupConfiguration dc = factory.getServerLocator().getDiscoveryGroupConfiguration(); UDPBroadcastEndpointFactory udpDg = (UDPBroadcastEndpointFactory) dc.getBroadcastEndpointFactory(); Assert.assertEquals(udpDg.getLocalBindAddress(), "newAddress"); Assert.assertEquals(udpDg.getGroupAddress(), "myhost"); Assert.assertEquals(udpDg.getGroupPort(), 5678); }
ra.start(new BootstrapContext()); Connection conn = ra.getDefaultActiveMQConnectionFactory().createConnection(); ServerLocatorImpl serverLocator = (ServerLocatorImpl) ra.getDefaultActiveMQConnectionFactory().getServerLocator();
ActiveMQResourceAdapter adapter = new ActiveMQResourceAdapter(); adapter.setDiscoveryAddress("231.1.1.1"); ActiveMQConnectionFactory factory = adapter.getDefaultActiveMQConnectionFactory(); long initWait = factory.getDiscoveryGroupConfiguration().getDiscoveryInitialWaitTimeout(); long refresh = factory.getDiscoveryGroupConfiguration().getRefreshTimeout(); adapter.setDiscoveryPort(9876); adapter.setDiscoveryRefreshTimeout(1234L); factory = adapter.getDefaultActiveMQConnectionFactory(); initWait = factory.getDiscoveryGroupConfiguration().getDiscoveryInitialWaitTimeout(); refresh = factory.getDiscoveryGroupConfiguration().getRefreshTimeout(); adapter.setDiscoveryPort(9876); adapter.setDiscoveryInitialWaitTimeout(9999L); factory = adapter.getDefaultActiveMQConnectionFactory(); initWait = factory.getDiscoveryGroupConfiguration().getDiscoveryInitialWaitTimeout(); refresh = factory.getDiscoveryGroupConfiguration().getRefreshTimeout(); adapter.setDiscoveryPort(9876); adapter.setDiscoveryInitialWaitTimeout(9999L); factory = adapter.getDefaultActiveMQConnectionFactory(); initWait = factory.getDiscoveryGroupConfiguration().getDiscoveryInitialWaitTimeout(); refresh = factory.getDiscoveryGroupConfiguration().getRefreshTimeout();
ClientSessionFactoryInternal factoryListener = (ClientSessionFactoryInternal) qResourceAdapter.getDefaultActiveMQConnectionFactory().getServerLocator().createSessionFactory(); factoryListener.addFailureListener(new SessionFailureListener() {
@Test public void testQueuePrefixWhenUseJndiIsFalse() throws Exception { final String prefix = "jms.queue."; final String destinationName = "test"; final SimpleString prefixedDestinationName = SimpleString.toSimpleString(prefix + destinationName); server.createQueue(prefixedDestinationName, RoutingType.ANYCAST, prefixedDestinationName, null, false, false); ActiveMQResourceAdapter ra = new ActiveMQResourceAdapter(); ra.setConnectorClassName(INVM_CONNECTOR_FACTORY); ra.start(new BootstrapContext()); Connection conn = ra.getDefaultActiveMQConnectionFactory().createConnection(); conn.close(); ActiveMQActivationSpec spec = new ActiveMQActivationSpec(); spec.setResourceAdapter(ra); spec.setUseJNDI(false); spec.setDestinationType("javax.jms.Queue"); spec.setDestination(destinationName); spec.setQueuePrefix(prefix); spec.setMaxSession(1); spec.setSetupAttempts(1); ActiveMQActivation activation = new ActiveMQActivation(ra, new MessageEndpointFactory(), spec); activation.start(); assertEquals(1, server.locateQueue(prefixedDestinationName).getConsumerCount()); activation.stop(); }
@Test public void testTopicPrefixWhenUseJndiIsFalse() throws Exception { final String prefix = "jms.topic."; final String destinationName = "test"; final SimpleString prefixedDestinationName = SimpleString.toSimpleString(prefix + destinationName); server.addAddressInfo(new AddressInfo(prefixedDestinationName).addRoutingType(RoutingType.MULTICAST)); ActiveMQResourceAdapter ra = new ActiveMQResourceAdapter(); ra.setConnectorClassName(INVM_CONNECTOR_FACTORY); ra.start(new BootstrapContext()); Connection conn = ra.getDefaultActiveMQConnectionFactory().createConnection(); conn.close(); ActiveMQActivationSpec spec = new ActiveMQActivationSpec(); spec.setResourceAdapter(ra); spec.setUseJNDI(false); spec.setDestinationType("javax.jms.Topic"); spec.setDestination(destinationName); spec.setTopicPrefix(prefix); spec.setMaxSession(1); spec.setSetupAttempts(1); ActiveMQActivation activation = new ActiveMQActivation(ra, new MessageEndpointFactory(), spec); activation.start(); assertEquals(1, ((AddressControl)server.getManagementService().getResource(ResourceNames.ADDRESS + prefixedDestinationName)).getQueueNames().length); activation.stop(); }
qResourceAdapter.getDefaultActiveMQConnectionFactory().close(); qResourceAdapter.stop();
@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(); } }
ra.start(new BootstrapContext()); Connection conn = ra.getDefaultActiveMQConnectionFactory().createConnection();
@Test public void testDefaultConnectionFactory() throws Exception { ActiveMQResourceAdapter ra = new ActiveMQResourceAdapter(); ra.setConnectorClassName(InVMConnectorFactory.class.getName()); ActiveMQConnectionFactory factory = ra.getDefaultActiveMQConnectionFactory(); Assert.assertEquals(factory.getCallTimeout(), ActiveMQClient.DEFAULT_CALL_TIMEOUT); Assert.assertEquals(factory.getClientFailureCheckPeriod(), ActiveMQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD); Assert.assertEquals(factory.getClientID(), null); Assert.assertEquals(factory.getConnectionLoadBalancingPolicyClassName(), ActiveMQClient.DEFAULT_CONNECTION_LOAD_BALANCING_POLICY_CLASS_NAME); Assert.assertEquals(factory.getConnectionTTL(), ActiveMQClient.DEFAULT_CONNECTION_TTL); Assert.assertEquals(factory.getConsumerMaxRate(), ActiveMQClient.DEFAULT_CONSUMER_MAX_RATE); Assert.assertEquals(factory.getConsumerWindowSize(), ActiveMQClient.DEFAULT_CONSUMER_WINDOW_SIZE); Assert.assertEquals(factory.getDupsOKBatchSize(), ActiveMQClient.DEFAULT_ACK_BATCH_SIZE); Assert.assertEquals(factory.getMinLargeMessageSize(), ActiveMQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE); Assert.assertEquals(factory.getProducerMaxRate(), ActiveMQClient.DEFAULT_PRODUCER_MAX_RATE); Assert.assertEquals(factory.getConfirmationWindowSize(), ActiveMQClient.DEFAULT_CONFIRMATION_WINDOW_SIZE); // by default, reconnect attempts is set to -1 Assert.assertEquals(-1, factory.getReconnectAttempts()); Assert.assertEquals(factory.getRetryInterval(), ActiveMQClient.DEFAULT_RETRY_INTERVAL); Assert.assertEquals(factory.getRetryIntervalMultiplier(), ActiveMQClient.DEFAULT_RETRY_INTERVAL_MULTIPLIER, 0.00001); Assert.assertEquals(factory.getScheduledThreadPoolMaxSize(), ActiveMQClient.DEFAULT_SCHEDULED_THREAD_POOL_MAX_SIZE); Assert.assertEquals(factory.getThreadPoolMaxSize(), ActiveMQClient.DEFAULT_THREAD_POOL_MAX_SIZE); Assert.assertEquals(factory.getTransactionBatchSize(), ActiveMQClient.DEFAULT_ACK_BATCH_SIZE); Assert.assertEquals(factory.isAutoGroup(), ActiveMQClient.DEFAULT_AUTO_GROUP); Assert.assertEquals(factory.isBlockOnAcknowledge(), ActiveMQClient.DEFAULT_BLOCK_ON_ACKNOWLEDGE); Assert.assertEquals(factory.isBlockOnNonDurableSend(), ActiveMQClient.DEFAULT_BLOCK_ON_NON_DURABLE_SEND); Assert.assertEquals(factory.isBlockOnDurableSend(), ActiveMQClient.DEFAULT_BLOCK_ON_DURABLE_SEND); Assert.assertEquals(factory.isPreAcknowledge(), ActiveMQClient.DEFAULT_PRE_ACKNOWLEDGE); Assert.assertEquals(factory.isUseGlobalPools(), ActiveMQClient.DEFAULT_USE_GLOBAL_POOLS); }
ra.setTransactionBatchSize(18); ra.setUseGlobalPools(!ActiveMQClient.DEFAULT_USE_GLOBAL_POOLS); ActiveMQConnectionFactory factory = ra.getDefaultActiveMQConnectionFactory(); Assert.assertEquals(factory.getCallTimeout(), 1); Assert.assertEquals(factory.getClientFailureCheckPeriod(), 2);