本文整理汇总了C++中ActiveMQMapMessage::equals方法的典型用法代码示例。如果您正苦于以下问题:C++ ActiveMQMapMessage::equals方法的具体用法?C++ ActiveMQMapMessage::equals怎么用?C++ ActiveMQMapMessage::equals使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ActiveMQMapMessage
的用法示例。
在下文中一共展示了ActiveMQMapMessage::equals方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testTightMarshal
void ActiveMQMapMessageMarshallerTest::testTightMarshal() {
ActiveMQMapMessageMarshaller marshaller;
Properties props;
OpenWireFormat openWireFormat( props );
// Configure for this test.
openWireFormat.setVersion( 3 );
openWireFormat.setTightEncodingEnabled( true );
ActiveMQMapMessage outCommand;
ActiveMQMapMessage inCommand;
Pointer<ProducerId> producerId( new ProducerId() );
producerId->setConnectionId( "ConnectionId" );
producerId->setSessionId( 123 );
producerId->setValue( 42 );
Pointer<MessageId> messageId( new MessageId() );
messageId->setBrokerSequenceId( 1 );
messageId->setProducerSequenceId( 3 );
messageId->setProducerId( producerId );
outCommand.setMessageId( messageId );
try {
// Marshal the dataStructure to a byte array.
ByteArrayOutputStream baos;
DataOutputStream dataOut( &baos );
// Phase 1 - count the size
int size = 1;
BooleanStream bs;
size += marshaller.tightMarshal1( &openWireFormat, &outCommand, &bs );
size += bs.marshalledSize();
// Phase 2 - marshal
dataOut.writeByte( outCommand.getDataStructureType() );
bs.marshal( &dataOut );
marshaller.tightMarshal2( &openWireFormat, &outCommand, &dataOut, &bs );
// Now read it back in and make sure it's all right.
std::pair<const unsigned char*, int> array = baos.toByteArray();
ByteArrayInputStream bais( array.first, array.second, true );
DataInputStream dataIn( &bais );
unsigned char dataType = dataIn.readByte();
CPPUNIT_ASSERT( dataType == outCommand.getDataStructureType() );
bs.clear();
bs.unmarshal( &dataIn );
marshaller.tightUnmarshal( &openWireFormat, &inCommand, &dataIn, &bs );
CPPUNIT_ASSERT( inCommand.equals( &outCommand ) == true );
} catch( ActiveMQException& e ) {
e.printStackTrace();
CPPUNIT_ASSERT( false );
} catch( ... ) {
CPPUNIT_ASSERT( false );
}
}