@Test public void testGetProperties() throws Exception { String clientID = getTestName(); String queuePrefix = "q:"; String jmsOptionPrefix = "jms."; String clientIDprop = "clientID"; String baseUri = "amqp://localhost:1234"; String uri = baseUri + "?" + jmsOptionPrefix + clientIDprop + "=" + clientID; JmsConnectionFactory cf = new JmsConnectionFactory(); // Set the URI property, itself containing a property option in its query cf.setRemoteURI(uri); // Set another property directly cf.setQueuePrefix(queuePrefix); // Get the properties Map<String, String> props = cf.getProperties(); // Verify the clientID property option from the URI was applied. assertTrue(CLIENT_ID_PROP + " property not found", props.containsKey(CLIENT_ID_PROP)); assertEquals( "clientID uri property query option not applied as expected", clientID, props.get(CLIENT_ID_PROP)); assertTrue(QUEUE_PREFIX_PROP + " property not found", props.containsKey(QUEUE_PREFIX_PROP)); assertEquals( "queue prefix property not applied as expected", queuePrefix, props.get(QUEUE_PREFIX_PROP)); }
@Test public void testConnectionFactoryOptionsAreAppliedToConnection() throws JMSException { JmsConnectionFactory factory = new JmsConnectionFactory(USER, PASSWORD, "mock://localhost"); factory.setTopicPrefix(TOPIC_PREFIX_PROP); factory.setQueuePrefix(QUEUE_PREFIX_PROP); factory.setClientID(CLIENT_ID_PROP); factory.setForceSyncSend(!factory.isForceSyncSend()); factory.setForceAsyncSend(!factory.isForceAsyncSend()); factory.setLocalMessagePriority(!factory.isLocalMessagePriority()); factory.setForceAsyncAcks(!factory.isForceAsyncAcks()); factory.setConnectTimeout(TimeUnit.SECONDS.toMillis(30)); factory.setCloseTimeout(TimeUnit.SECONDS.toMillis(45)); factory.getPrefetchPolicy().setAll(1); JmsConnection connection = (JmsConnection) factory.createConnection(); assertNotNull(connection); assertEquals(USER, connection.getUsername()); assertEquals(PASSWORD, connection.getPassword()); assertEquals(CLIENT_ID_PROP, connection.getClientID()); assertEquals(TOPIC_PREFIX_PROP, connection.getTopicPrefix()); assertEquals(QUEUE_PREFIX_PROP, connection.getQueuePrefix()); assertEquals(factory.isForceSyncSend(), connection.isForceSyncSend()); assertEquals(factory.isForceAsyncSend(), connection.isForceAsyncSend()); assertEquals(factory.isLocalMessagePriority(), connection.isLocalMessagePriority()); assertEquals(factory.isForceAsyncAcks(), connection.isForceAsyncAcks()); assertEquals(TimeUnit.SECONDS.toMillis(30), connection.getConnectTimeout()); assertEquals(TimeUnit.SECONDS.toMillis(45), connection.getCloseTimeout()); assertEquals(1, connection.getPrefetchPolicy().getTopicPrefetch()); assertEquals(1, connection.getPrefetchPolicy().getQueuePrefetch()); assertEquals(1, connection.getPrefetchPolicy().getQueueBrowserPrefetch()); assertEquals(1, connection.getPrefetchPolicy().getDurableTopicPrefetch()); }