Search in sources :

Example 11 with AddressIF

use of com.swiftmq.amqp.v100.generated.messaging.message_format.AddressIF in project swiftmq-ce by iitsoftware.

the class Requestor method sendRequests.

public void sendRequests() {
    try {
        AddressIF tempDest = consumer.getRemoteAddress();
        for (int i = 0; i < nMsgs; i++) {
            AMQPMessage request = messageFactory.create(i);
            Properties prop = new Properties();
            prop.setReplyTo(tempDest);
            request.setProperties(prop);
            producer.send(request, persistent, 5, -1);
            AMQPMessage reply = consumer.receive();
            if (reply == null)
                throw new Exception("Reply is null");
            if (!reply.isSettled())
                reply.accept();
        }
    } catch (Exception e) {
        fail("test failed: " + e);
    }
}
Also used : AddressIF(com.swiftmq.amqp.v100.generated.messaging.message_format.AddressIF) Properties(com.swiftmq.amqp.v100.generated.messaging.message_format.Properties) AMQPMessage(com.swiftmq.amqp.v100.messaging.AMQPMessage)

Example 12 with AddressIF

use of com.swiftmq.amqp.v100.generated.messaging.message_format.AddressIF in project swiftmq-ce by iitsoftware.

the class Replier method serviceRequests.

public void serviceRequests() {
    try {
        boolean rollback = false;
        int i = 0;
        while (i < nMsgs) {
            TxnIdIF txnIdIF = txc.createTxnId();
            consumer.acquire(1, txnIdIF);
            AMQPMessage request = consumer.receive();
            if (request != null) {
                messageFactory.verify(request);
                if (!request.isSettled())
                    request.accept();
                Properties prop = request.getProperties();
                if (prop == null)
                    throw new Exception("Properties not set in request: " + request);
                AddressIF replyTo = prop.getReplyTo();
                if (replyTo == null)
                    throw new Exception("replyTo not set in request: " + request);
                Producer p = getSession().createProducer(replyTo.getValueString(), qos);
                AMQPMessage reply = messageFactory.createReplyMessage(request);
                reply.setTxnIdIF(txnIdIF);
                Properties prop2 = new Properties();
                prop2.setTo(replyTo);
                prop2.setCorrelationId(prop.getMessageId());
                reply.setProperties(prop2);
                p.send(reply);
                p.close();
            } else
                throw new Exception("Msg == null at i=" + i);
            if (rollback)
                txc.rollback(txnIdIF);
            else {
                txc.commit(txnIdIF);
                i++;
            }
            rollback = !rollback;
        }
    } catch (Exception e) {
        fail("test failed: " + e);
    }
}
Also used : TxnIdIF(com.swiftmq.amqp.v100.generated.transactions.coordination.TxnIdIF) AddressIF(com.swiftmq.amqp.v100.generated.messaging.message_format.AddressIF) Producer(com.swiftmq.amqp.v100.client.Producer) Properties(com.swiftmq.amqp.v100.generated.messaging.message_format.Properties) AMQPMessage(com.swiftmq.amqp.v100.messaging.AMQPMessage)

Example 13 with AddressIF

use of com.swiftmq.amqp.v100.generated.messaging.message_format.AddressIF in project swiftmq-ce by iitsoftware.

the class JMSMappingInboundTransformer method transformProperties.

protected void transformProperties(Properties properties, final MessageImpl jmsMessage, final DestinationFactory destinationFactory) throws Exception {
    if (overwriteMessageId) {
        jmsMessage.setJMSMessageID(nextMsgId());
    } else {
        MessageIdIF messageIdIF = properties.getMessageId();
        if (messageIdIF != null)
            messageIdIF.accept(new MessageIdVisitor() {

                public void visit(MessageIdUlong messageIdUlong) {
                    try {
                        jmsMessage.setJMSMessageID(String.valueOf(messageIdUlong.getValue()));
                    } catch (JMSException e) {
                    }
                }

                public void visit(MessageIdUuid messageIdUuid) {
                    try {
                        jmsMessage.setJMSMessageID(String.valueOf(messageIdUuid.getValue()));
                    } catch (JMSException e) {
                    }
                }

                public void visit(MessageIdBinary messageIdBinary) {
                    try {
                        jmsMessage.setJMSMessageID(new String(messageIdBinary.getValue()));
                    } catch (JMSException e) {
                    }
                }

                public void visit(MessageIdString messageIdString) {
                    try {
                        jmsMessage.setJMSMessageID(messageIdString.getValue());
                    } catch (JMSException e) {
                    }
                }
            });
    }
    AMQPBinary userId = properties.getUserId();
    if (userId != null)
        jmsMessage.setStringProperty(MessageImpl.PROP_USER_ID, new String(userId.getValue(), "ISO-8859-1"));
    AddressIF to = properties.getTo();
    if (to != null) {
        jmsMessage.setJMSDestination(destinationFactory.create(to));
        to.accept(new AddressVisitor() {

            public void visit(AddressString addressString) {
                try {
                    jmsMessage.setStringProperty(Util.PROP_AMQP_TO_ADDRESS, addressString.getValue());
                } catch (JMSException e) {
                }
            }
        });
    }
    AMQPString subject = properties.getSubject();
    if (subject != null)
        jmsMessage.setStringProperty(prefixVendor + "Subject", subject.getValue());
    AddressIF replyTo = properties.getReplyTo();
    if (replyTo != null)
        jmsMessage.setJMSReplyTo(destinationFactory.create(replyTo));
    MessageIdIF correlationIdIF = properties.getCorrelationId();
    if (correlationIdIF != null)
        correlationIdIF.accept(new MessageIdVisitor() {

            public void visit(MessageIdUlong messageIdUlong) {
                try {
                    jmsMessage.setJMSCorrelationID(String.valueOf(messageIdUlong.getValue()));
                } catch (JMSException e) {
                }
            }

            public void visit(MessageIdUuid messageIdUuid) {
                try {
                    jmsMessage.setJMSCorrelationID(String.valueOf(messageIdUuid.getValue()));
                } catch (JMSException e) {
                }
            }

            public void visit(MessageIdBinary messageIdBinary) {
                try {
                    jmsMessage.setJMSCorrelationID(new String(messageIdBinary.getValue()));
                } catch (JMSException e) {
                }
            }

            public void visit(MessageIdString messageIdString) {
                try {
                    jmsMessage.setJMSCorrelationID(messageIdString.getValue());
                } catch (JMSException e) {
                }
            }
        });
    AMQPSymbol contentType = properties.getContentType();
    if (contentType != null)
        jmsMessage.setStringProperty(prefixVendor + "ContentType", contentType.getValue());
    AMQPSymbol contentEncoding = properties.getContentEncoding();
    if (contentEncoding != null)
        jmsMessage.setStringProperty(prefixVendor + "ContentEncoding", contentEncoding.getValue());
    AMQPTimestamp ts = properties.getAbsoluteExpiryTime();
    if (ts != null)
        jmsMessage.setJMSExpiration(ts.getValue());
    AMQPTimestamp ct = properties.getCreationTime();
    if (ct != null)
        jmsMessage.setJMSTimestamp(ct.getValue());
    AMQPString groupId = properties.getGroupId();
    if (groupId != null)
        jmsMessage.setStringProperty(Util.PROP_GROUP_ID, groupId.getValue());
    SequenceNo groupSeq = properties.getGroupSequence();
    if (groupSeq != null)
        jmsMessage.setLongProperty(Util.PROP_GROUP_SEQ, groupSeq.getValue());
    AMQPString replyToGroupId = properties.getReplyToGroupId();
    if (replyToGroupId != null)
        jmsMessage.setStringProperty(prefixVendor + "ReplyToGroupID", replyToGroupId.getValue());
}
Also used : SequenceNo(com.swiftmq.amqp.v100.generated.transport.definitions.SequenceNo) JMSException(javax.jms.JMSException)

Aggregations

AddressIF (com.swiftmq.amqp.v100.generated.messaging.message_format.AddressIF)12 Properties (com.swiftmq.amqp.v100.generated.messaging.message_format.Properties)12 AMQPMessage (com.swiftmq.amqp.v100.messaging.AMQPMessage)12 TxnIdIF (com.swiftmq.amqp.v100.generated.transactions.coordination.TxnIdIF)8 Producer (com.swiftmq.amqp.v100.client.Producer)5 AMQPContext (com.swiftmq.amqp.AMQPContext)2 AmqpValue (com.swiftmq.amqp.v100.generated.messaging.message_format.AmqpValue)2 AMQPString (com.swiftmq.amqp.v100.types.AMQPString)2 JSSESocketFactory (com.swiftmq.net.JSSESocketFactory)2 SequenceNo (com.swiftmq.amqp.v100.generated.transport.definitions.SequenceNo)1 JMSException (javax.jms.JMSException)1