[ https://issues.apache.org/jira/browse/QPIDJMS-313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jiri Danek updated QPIDJMS-313: ------------------------------- Affects Version/s: 0.24.0 > Message#getBody does not throw when attempting to read a BytesMessage as > String.class > ------------------------------------------------------------------------------------- > > Key: QPIDJMS-313 > URL: https://issues.apache.org/jira/browse/QPIDJMS-313 > Project: Qpid JMS > Issue Type: Bug > Components: qpid-jms-client > Affects Versions: 0.23.0, 0.24.0 > Reporter: Jiri Danek > Priority: Minor > > Consider the ActiveMQ Artemis test > {{org.apache.activemq.artemis.tests.integration.jms.jms2client.BodyTest#testBodyConversion}} > adapted to run through multiple JMS ConnectionFactories in turn. This test > passes with Core JMS client, is skipped (or should be skipped) with ActiveMQ > OpenWire client (that is a JMS 1.1 client) and fails with qpid-jms client. > {noformat} > BytesMessage bytesMessage = sess.createBytesMessage(); > producer.send(bytesMessage); > Message msg = cons.receiveNoWait(); > assertNotNull(msg); > try { > msg.getBody(String.class); > fail("Exception expected"); > } catch (MessageFormatException e) { > } > {noformat} > The failing line is the {{fail("Exception expected");}}, because qpid-jms > does not throw {{MessageFormatException}} where it is supposed to. > According to https://docs.oracle.com/javaee/7/api/javax/jms/Message.html. "If > the message is a BytesMessage then this parameter must be set to byte[].class > (or java.lang.Object.class). This method will reset the BytesMessage before > and after use." ... "Throws: MessageFormatException" ... "if the message body > cannot be assigned to the specified type." -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org