Search in sources :

Example 36 with ICoreMessage

use of org.apache.activemq.artemis.api.core.ICoreMessage in project activemq-artemis by apache.

the class TestConversions method testSimpleConversionBytes.

@Test
public void testSimpleConversionBytes() throws Exception {
    Map<String, Object> mapprop = createPropertiesMap();
    ApplicationProperties properties = new ApplicationProperties(mapprop);
    MessageImpl message = (MessageImpl) Message.Factory.create();
    message.setApplicationProperties(properties);
    byte[] bodyBytes = new byte[4];
    for (int i = 0; i < bodyBytes.length; i++) {
        bodyBytes[i] = (byte) 0xff;
    }
    message.setBody(new Data(new Binary(bodyBytes)));
    AMQPMessage encodedMessage = new AMQPMessage(message);
    ICoreMessage serverMessage = encodedMessage.toCore();
    ServerJMSBytesMessage bytesMessage = (ServerJMSBytesMessage) ServerJMSMessage.wrapCoreMessage(serverMessage);
    verifyProperties(bytesMessage);
    assertEquals(bodyBytes.length, bytesMessage.getBodyLength());
    byte[] newBodyBytes = new byte[4];
    bytesMessage.readBytes(newBodyBytes);
    Assert.assertArrayEquals(bodyBytes, newBodyBytes);
}
Also used : ICoreMessage(org.apache.activemq.artemis.api.core.ICoreMessage) ServerJMSBytesMessage(org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSBytesMessage) ApplicationProperties(org.apache.qpid.proton.amqp.messaging.ApplicationProperties) Data(org.apache.qpid.proton.amqp.messaging.Data) Binary(org.apache.qpid.proton.amqp.Binary) MessageImpl(org.apache.qpid.proton.message.impl.MessageImpl) AMQPMessage(org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage) Test(org.junit.Test)

Example 37 with ICoreMessage

use of org.apache.activemq.artemis.api.core.ICoreMessage in project activemq-artemis by apache.

the class JMSTransformationSpeedComparisonTest method testMessageWithNoPropertiesOrAnnotations.

@Test
public void testMessageWithNoPropertiesOrAnnotations() throws Exception {
    Message message = Proton.message();
    message.setAddress("queue://test-queue");
    message.setDeliveryCount(1);
    message.setCreationTime(System.currentTimeMillis());
    message.setContentType("text/plain");
    message.setBody(new AmqpValue("String payload for AMQP message conversion performance testing."));
    AMQPMessage encoded = new AMQPMessage(message);
    // Warm up
    for (int i = 0; i < WARM_CYCLES; ++i) {
        ICoreMessage intermediate = encoded.toCore();
        encode(AMQPConverter.getInstance().fromCore(intermediate));
    }
    long totalDuration = 0;
    long startTime = System.nanoTime();
    for (int i = 0; i < PROFILE_CYCLES; ++i) {
        ICoreMessage intermediate = encoded.toCore();
        encode(AMQPConverter.getInstance().fromCore(intermediate));
    }
    totalDuration += System.nanoTime() - startTime;
    LOG_RESULTS(totalDuration);
}
Also used : ICoreMessage(org.apache.activemq.artemis.api.core.ICoreMessage) ICoreMessage(org.apache.activemq.artemis.api.core.ICoreMessage) AMQPMessage(org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage) Message(org.apache.qpid.proton.message.Message) AMQPMessage(org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage) AmqpValue(org.apache.qpid.proton.amqp.messaging.AmqpValue) Test(org.junit.Test)

Example 38 with ICoreMessage

use of org.apache.activemq.artemis.api.core.ICoreMessage in project activemq-artemis by apache.

the class JMSTransformationSpeedComparisonTest method testTypicalQpidJMSMessage.

@Test
public void testTypicalQpidJMSMessage() throws Exception {
    AMQPMessage encoded = new AMQPMessage(createTypicalQpidJMSMessage());
    // Warm up
    for (int i = 0; i < WARM_CYCLES; ++i) {
        ICoreMessage intermediate = encoded.toCore();
        encode(AMQPConverter.getInstance().fromCore(intermediate));
    }
    long totalDuration = 0;
    long startTime = System.nanoTime();
    for (int i = 0; i < PROFILE_CYCLES; ++i) {
        ICoreMessage intermediate = encoded.toCore();
        encode(AMQPConverter.getInstance().fromCore(intermediate));
    }
    totalDuration += System.nanoTime() - startTime;
    LOG_RESULTS(totalDuration);
}
Also used : ICoreMessage(org.apache.activemq.artemis.api.core.ICoreMessage) AMQPMessage(org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage) Test(org.junit.Test)

Example 39 with ICoreMessage

use of org.apache.activemq.artemis.api.core.ICoreMessage in project activemq-artemis by apache.

the class JMSTransformationSpeedComparisonTest method testTypicalQpidJMSMessageInBoundOnly.

@Test
public void testTypicalQpidJMSMessageInBoundOnly() throws Exception {
    AMQPMessage encoded = encode(createTypicalQpidJMSMessage());
    // Warm up
    for (int i = 0; i < WARM_CYCLES; ++i) {
        ICoreMessage intermediate = encoded.toCore();
        encode(AMQPConverter.getInstance().fromCore(intermediate));
    }
    long totalDuration = 0;
    long startTime = System.nanoTime();
    for (int i = 0; i < PROFILE_CYCLES; ++i) {
        ICoreMessage intermediate = encoded.toCore();
        encode(AMQPConverter.getInstance().fromCore(intermediate));
    }
    totalDuration += System.nanoTime() - startTime;
    LOG_RESULTS(totalDuration);
}
Also used : ICoreMessage(org.apache.activemq.artemis.api.core.ICoreMessage) AMQPMessage(org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage) Test(org.junit.Test)

Aggregations

ICoreMessage (org.apache.activemq.artemis.api.core.ICoreMessage)39 Test (org.junit.Test)24 AMQPMessage (org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage)17 CoreMessage (org.apache.activemq.artemis.core.message.impl.CoreMessage)10 AmqpValue (org.apache.qpid.proton.amqp.messaging.AmqpValue)10 SimpleString (org.apache.activemq.artemis.api.core.SimpleString)9 Message (org.apache.qpid.proton.message.Message)7 ApplicationProperties (org.apache.qpid.proton.amqp.messaging.ApplicationProperties)6 MessageImpl (org.apache.qpid.proton.message.impl.MessageImpl)6 ActiveMQBuffer (org.apache.activemq.artemis.api.core.ActiveMQBuffer)5 Configuration (org.apache.activemq.artemis.core.config.Configuration)4 ActiveMQServer (org.apache.activemq.artemis.core.server.ActiveMQServer)4 ServerJMSBytesMessage (org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSBytesMessage)3 ServerJMSMapMessage (org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSMapMessage)3 ServerJMSStreamMessage (org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSStreamMessage)3 ServerJMSTextMessage (org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSTextMessage)3 HashMap (java.util.HashMap)2 ClientMessageImpl (org.apache.activemq.artemis.core.client.impl.ClientMessageImpl)2 PagedMessage (org.apache.activemq.artemis.core.paging.PagedMessage)2 LargeServerMessage (org.apache.activemq.artemis.core.server.LargeServerMessage)2