@Override public org.apache.activemq.artemis.api.core.Message copy() { ensureDataIsValid(); ReadableBuffer view = data.duplicate().rewind(); byte[] newData = new byte[view.remaining()]; // Copy the full message contents with delivery annotations as they will // be trimmed on send and may become useful on the broker at a later time. view.get(newData); AMQPMessage newEncode = new AMQPMessage(this.messageFormat, newData, extraProperties, coreMessageObjectPools); newEncode.setMessageID(this.getMessageID()); return newEncode; }
amqpMessage.setMessageID(message.getInnerMessage().getMessageID()); amqpMessage.setReplyTo(coreMessage.getReplyTo()); return amqpMessage;
amqpMessage.setMessageID(message.getInnerMessage().getMessageID()); amqpMessage.setReplyTo(coreMessage.getReplyTo()); return amqpMessage;
@Test public void testStoreAMQP() throws Throwable { ActiveMQServer server = createServer(true); server.start(); ProtonProtocolManagerFactory factory = (ProtonProtocolManagerFactory) server.getRemotingService().getProtocolFactoryMap().get("AMQP"); MessageImpl protonJMessage = (MessageImpl) Message.Factory.create(); AMQPMessage message = encodeAndCreateAMQPMessage(protonJMessage); message.setMessageID(333); Assert.assertNotNull(factory); server.getStorageManager().storeMessage(message); server.getStorageManager().stop(); JournalStorageManager journalStorageManager = (JournalStorageManager) server.getStorageManager(); List<RecordInfo> committedRecords = new LinkedList<>(); List<PreparedTransactionInfo> preparedTransactions = new LinkedList<>(); TransactionFailureCallback transactionFailure = new TransactionFailureCallback() { @Override public void failedTransaction(long transactionID, List<RecordInfo> records, List<RecordInfo> recordsToDelete) { } }; try { journalStorageManager.getMessageJournal().start(); journalStorageManager.getMessageJournal().load(committedRecords, preparedTransactions, transactionFailure); Assert.assertEquals(1, committedRecords.size()); } finally { journalStorageManager.getMessageJournal().stop(); } }