本文整理汇总了C++中ActiveMQMapMessage::getDataStructureType方法的典型用法代码示例。如果您正苦于以下问题:C++ ActiveMQMapMessage::getDataStructureType方法的具体用法?C++ ActiveMQMapMessage::getDataStructureType怎么用?C++ ActiveMQMapMessage::getDataStructureType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ActiveMQMapMessage
的用法示例。
在下文中一共展示了ActiveMQMapMessage::getDataStructureType方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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 );
}
}
示例2: test
void ActiveMQMapMessageMarshallerTest::test() {
ActiveMQMapMessageMarshaller myMarshaller;
ActiveMQMapMessage myCommand;
ActiveMQMapMessage* myCommand2;
CPPUNIT_ASSERT( myMarshaller.getDataStructureType() == myCommand.getDataStructureType() );
myCommand2 = dynamic_cast<ActiveMQMapMessage*>( myMarshaller.createObject() );
CPPUNIT_ASSERT( myCommand2 != NULL );
delete myCommand2;
}
示例3: test
void ActiveMQMapMessageTest::test() {
ActiveMQMapMessage myMessage;
CPPUNIT_ASSERT( myMessage.getDataStructureType() == ActiveMQMapMessage::ID_ACTIVEMQMAPMESSAGE );
CPPUNIT_ASSERT( myMessage.getMapNames().size() == 0 );
CPPUNIT_ASSERT( myMessage.itemExists( "Something" ) == false );
std::vector<unsigned char> data;
data.push_back( 2 );
data.push_back( 4 );
data.push_back( 8 );
data.push_back( 16 );
data.push_back( 32 );
myMessage.setBoolean( "boolean", false );
myMessage.setByte( "byte", 127 );
myMessage.setChar( "char", 'a' );
myMessage.setShort( "short", 32000 );
myMessage.setInt( "int", 6789999 );
myMessage.setLong( "long", 0xFFFAAA33345LL );
myMessage.setFloat( "float", 0.000012f );
myMessage.setDouble( "double", 64.54654 );
myMessage.setBytes( "bytes", data );
CPPUNIT_ASSERT( myMessage.getBoolean( "boolean" ) == false );
CPPUNIT_ASSERT( myMessage.getByte( "byte" ) == 127 );
CPPUNIT_ASSERT( myMessage.getChar( "char" ) == 'a' );
CPPUNIT_ASSERT( myMessage.getShort( "short" ) == 32000 );
CPPUNIT_ASSERT( myMessage.getInt( "int" ) == 6789999 );
CPPUNIT_ASSERT( myMessage.getLong( "long" ) == 0xFFFAAA33345LL );
CPPUNIT_ASSERT( myMessage.getFloat( "float" ) == 0.000012f );
CPPUNIT_ASSERT( myMessage.getDouble( "double" ) == 64.54654 );
CPPUNIT_ASSERT( myMessage.getBytes( "bytes" ) == data );
}