Merge pull request #1169 from jbonofre/AMQ-9419

AMQ-9419: Implement createContext(int sessionMode) method
This commit is contained in:
JB Onofré 2024-03-05 07:38:08 +01:00 committed by GitHub
commit 544687465b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 3 deletions

View File

@ -328,7 +328,11 @@ public class ActiveMQConnectionFactory extends JNDIBaseStorable implements Conne
*/
@Override
public JMSContext createContext(int sessionMode) {
throw new UnsupportedOperationException("createContext() is not supported");
try {
return new ActiveMQContext(createActiveMQConnection(getUserName(), getPassword()), sessionMode);
} catch (JMSException e) {
throw JMSExceptionSupport.convertToJMSRuntimeException(e);
}
}
/**

View File

@ -57,9 +57,18 @@ public class ActiveMQJMS2ContextTest extends ActiveMQJMS2TestBase {
}
}
@Test(expected = UnsupportedOperationException.class)
@Test
public void testConnectionFactoryCreateContextSession() {
activemqConnectionFactory.createContext(Session.AUTO_ACKNOWLEDGE);
try(JMSContext jmsContext = activemqConnectionFactory.createContext(Session.AUTO_ACKNOWLEDGE)) {
assertNotNull(jmsContext);
jmsContext.start();
assertTrue(ActiveMQContext.class.isAssignableFrom(jmsContext.getClass()));
Destination destination = jmsContext.createQueue(methodNameDestinationName);
sendMessage(jmsContext, destination, "Test-" + methodNameDestinationName);
recvMessage(jmsContext, destination, "Test-" + methodNameDestinationName);
} catch (JMSException e) {
fail(e.getMessage());
}
}
@Test