@@ -121,20 +121,23 @@ public FrameMax() {
121
121
122
122
Map <String , Object > headers = new HashMap <String , Object >();
123
123
String headerName = "x-huge-header" ;
124
- headers .put (headerName , "" );
124
+ headers .put (headerName , LongStringHelper . asLongString ( new byte [ 0 ]) );
125
125
126
126
AMQP .BasicProperties properties = new AMQP .BasicProperties .Builder ().headers (headers ).build ();
127
127
128
128
ByteArrayOutputStream baos = new ByteArrayOutputStream ();
129
- properties .writePropertiesTo (new ContentHeaderPropertyWriter (new DataOutputStream (baos )));
130
- int overhead = baos .size ();
129
+ DataOutputStream dos = new DataOutputStream (baos );
130
+ properties .writePropertiesTo (new ContentHeaderPropertyWriter (dos ));
131
+ dos .flush ();
132
+ int overhead = baos .size () + 12 ;
131
133
132
134
headers .put (headerName , LongStringHelper .asLongString (new byte [REAL_FRAME_MAX - overhead ]));
135
+ properties = new AMQP .BasicProperties .Builder ().headers (headers ).build ();
133
136
134
137
basicPublishVolatile (new byte [100 ], "x" , "foobar" , properties );
135
138
assertDelivered (queueName , 1 );
136
139
137
- headers .put (headerName , LongStringHelper .asLongString (new byte [REAL_FRAME_MAX - overhead - 1 ]));
140
+ headers .put (headerName , LongStringHelper .asLongString (new byte [REAL_FRAME_MAX - overhead + 1 ]));
138
141
properties = new AMQP .BasicProperties .Builder ().headers (headers ).build ();
139
142
140
143
try {
0 commit comments