Search in sources :

Example 6 with ApplicationProperties

use of org.apache.qpid.proton.amqp.messaging.ApplicationProperties in project activemq-artemis by apache.

the class TestConversions method testSimpleConversionText.

@Test
public void testSimpleConversionText() throws Exception {
    Map<String, Object> mapprop = createPropertiesMap();
    ApplicationProperties properties = new ApplicationProperties(mapprop);
    MessageImpl message = (MessageImpl) Message.Factory.create();
    message.setApplicationProperties(properties);
    String text = "someText";
    message.setBody(new AmqpValue(text));
    AMQPMessage encodedMessage = new AMQPMessage(message);
    ICoreMessage serverMessage = encodedMessage.toCore();
    ServerJMSTextMessage textMessage = (ServerJMSTextMessage) ServerJMSMessage.wrapCoreMessage(serverMessage);
    textMessage.decode();
    verifyProperties(textMessage);
    Assert.assertEquals(text, textMessage.getText());
}
Also used : ICoreMessage(org.apache.activemq.artemis.api.core.ICoreMessage) ServerJMSTextMessage(org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSTextMessage) ApplicationProperties(org.apache.qpid.proton.amqp.messaging.ApplicationProperties) MessageImpl(org.apache.qpid.proton.message.impl.MessageImpl) AMQPMessage(org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage) AmqpValue(org.apache.qpid.proton.amqp.messaging.AmqpValue) Test(org.junit.Test)

Example 7 with ApplicationProperties

use of org.apache.qpid.proton.amqp.messaging.ApplicationProperties in project activemq-artemis by apache.

the class TestConversions method testSimpleConversionMap.

@Test
public void testSimpleConversionMap() throws Exception {
    Map<String, Object> mapprop = createPropertiesMap();
    ApplicationProperties properties = new ApplicationProperties(mapprop);
    MessageImpl message = (MessageImpl) Message.Factory.create();
    message.setApplicationProperties(properties);
    Map<String, Object> mapValues = new HashMap<>();
    mapValues.put("somestr", "value");
    mapValues.put("someint", Integer.valueOf(1));
    message.setBody(new AmqpValue(mapValues));
    AMQPMessage encodedMessage = new AMQPMessage(message);
    ICoreMessage serverMessage = encodedMessage.toCore();
    serverMessage.getReadOnlyBodyBuffer();
    ServerJMSMapMessage mapMessage = (ServerJMSMapMessage) ServerJMSMessage.wrapCoreMessage(serverMessage);
    mapMessage.decode();
    verifyProperties(mapMessage);
    Assert.assertEquals(1, mapMessage.getInt("someint"));
    Assert.assertEquals("value", mapMessage.getString("somestr"));
    AMQPMessage newAMQP = CoreAmqpConverter.fromCore(mapMessage.getInnerMessage());
    System.out.println(newAMQP.getProtonMessage().getBody());
}
Also used : ICoreMessage(org.apache.activemq.artemis.api.core.ICoreMessage) HashMap(java.util.HashMap) ApplicationProperties(org.apache.qpid.proton.amqp.messaging.ApplicationProperties) ServerJMSMapMessage(org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSMapMessage) MessageImpl(org.apache.qpid.proton.message.impl.MessageImpl) AMQPMessage(org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage) AmqpValue(org.apache.qpid.proton.amqp.messaging.AmqpValue) Test(org.junit.Test)

Example 8 with ApplicationProperties

use of org.apache.qpid.proton.amqp.messaging.ApplicationProperties in project activemq-artemis by apache.

the class TestConversions method testAmqpValueOfBooleanIsPassedThrough.

@Test
public void testAmqpValueOfBooleanIsPassedThrough() 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 AmqpValue(new Boolean(true)));
    AMQPMessage encodedMessage = new AMQPMessage(message);
    ICoreMessage serverMessage = encodedMessage.toCore();
    verifyProperties(ServerJMSMessage.wrapCoreMessage(serverMessage));
}
Also used : ICoreMessage(org.apache.activemq.artemis.api.core.ICoreMessage) ApplicationProperties(org.apache.qpid.proton.amqp.messaging.ApplicationProperties) MessageImpl(org.apache.qpid.proton.message.impl.MessageImpl) AMQPMessage(org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage) AmqpValue(org.apache.qpid.proton.amqp.messaging.AmqpValue) Test(org.junit.Test)

Example 9 with ApplicationProperties

use of org.apache.qpid.proton.amqp.messaging.ApplicationProperties in project activemq-artemis by apache.

the class TestConversions method testSimpleConversionStream.

@Test
public void testSimpleConversionStream() throws Exception {
    Map<String, Object> mapprop = createPropertiesMap();
    ApplicationProperties properties = new ApplicationProperties(mapprop);
    MessageImpl message = (MessageImpl) Message.Factory.create();
    message.setApplicationProperties(properties);
    List<Object> objects = new LinkedList<>();
    objects.add(new Integer(10));
    objects.add("10");
    message.setBody(new AmqpSequence(objects));
    AMQPMessage encodedMessage = new AMQPMessage(message);
    ICoreMessage serverMessage = encodedMessage.toCore();
    ServerJMSStreamMessage streamMessage = (ServerJMSStreamMessage) ServerJMSMessage.wrapCoreMessage(serverMessage);
    verifyProperties(streamMessage);
    streamMessage.reset();
    assertEquals(10, streamMessage.readInt());
    assertEquals("10", streamMessage.readString());
}
Also used : ICoreMessage(org.apache.activemq.artemis.api.core.ICoreMessage) ApplicationProperties(org.apache.qpid.proton.amqp.messaging.ApplicationProperties) ServerJMSStreamMessage(org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSStreamMessage) MessageImpl(org.apache.qpid.proton.message.impl.MessageImpl) AmqpSequence(org.apache.qpid.proton.amqp.messaging.AmqpSequence) AMQPMessage(org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage) LinkedList(java.util.LinkedList) Test(org.junit.Test)

Example 10 with ApplicationProperties

use of org.apache.qpid.proton.amqp.messaging.ApplicationProperties in project activemq-artemis by apache.

the class JMSTransformationSpeedComparisonTest method createComplexQpidJMSMessage.

private Message createComplexQpidJMSMessage() {
    Map<String, Object> applicationProperties = new HashMap<>();
    Map<Symbol, Object> messageAnnotations = new HashMap<>();
    applicationProperties.put("property-1", "string-1");
    applicationProperties.put("property-2", 512);
    applicationProperties.put("property-3", true);
    applicationProperties.put("property-4", "string-2");
    applicationProperties.put("property-5", 512);
    applicationProperties.put("property-6", true);
    applicationProperties.put("property-7", "string-3");
    applicationProperties.put("property-8", 512);
    applicationProperties.put("property-9", true);
    messageAnnotations.put(Symbol.valueOf("x-opt-jms-msg-type"), 0);
    messageAnnotations.put(Symbol.valueOf("x-opt-jms-dest"), 0);
    Message message = Proton.message();
    // Header Values
    message.setPriority((short) 9);
    message.setDurable(true);
    message.setDeliveryCount(2);
    message.setTtl(5000);
    // Properties
    message.setMessageId("ID:SomeQualifier:0:0:1");
    message.setGroupId("Group-ID-1");
    message.setGroupSequence(15);
    message.setAddress("queue://test-queue");
    message.setReplyTo("queue://reply-queue");
    message.setCreationTime(System.currentTimeMillis());
    message.setContentType("text/plain");
    message.setCorrelationId("ID:SomeQualifier:0:7:9");
    message.setUserId("username".getBytes(StandardCharsets.UTF_8));
    // Application Properties / Message Annotations / Body
    message.setApplicationProperties(new ApplicationProperties(applicationProperties));
    message.setMessageAnnotations(new MessageAnnotations(messageAnnotations));
    message.setBody(new AmqpValue("String payload for AMQP message conversion performance testing."));
    return message;
}
Also used : ICoreMessage(org.apache.activemq.artemis.api.core.ICoreMessage) AMQPMessage(org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage) Message(org.apache.qpid.proton.message.Message) HashMap(java.util.HashMap) Symbol(org.apache.qpid.proton.amqp.Symbol) MessageAnnotations(org.apache.qpid.proton.amqp.messaging.MessageAnnotations) ApplicationProperties(org.apache.qpid.proton.amqp.messaging.ApplicationProperties) AmqpValue(org.apache.qpid.proton.amqp.messaging.AmqpValue)

Aggregations

ApplicationProperties (org.apache.qpid.proton.amqp.messaging.ApplicationProperties)41 HashMap (java.util.HashMap)25 MessageImpl (org.apache.qpid.proton.message.impl.MessageImpl)14 Properties (org.apache.qpid.proton.amqp.messaging.Properties)12 AMQPMessage (org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage)11 Message (org.apache.qpid.proton.message.Message)11 Binary (org.apache.qpid.proton.amqp.Binary)10 MessageAnnotations (org.apache.qpid.proton.amqp.messaging.MessageAnnotations)10 AmqpValue (org.apache.qpid.proton.amqp.messaging.AmqpValue)9 Test (org.junit.Test)9 ICoreMessage (org.apache.activemq.artemis.api.core.ICoreMessage)8 Data (org.apache.qpid.proton.amqp.messaging.Data)8 Symbol (org.apache.qpid.proton.amqp.Symbol)7 Section (org.apache.qpid.proton.amqp.messaging.Section)7 Map (java.util.Map)6 Header (org.apache.qpid.proton.amqp.messaging.Header)6 Test (org.junit.jupiter.api.Test)5 Buffer (io.vertx.core.buffer.Buffer)3 JsonObject (io.vertx.core.json.JsonObject)3 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)3