// should we wait for a synchronous response on this same thread?
boolean waitForResponse = waitForSynchronousResponse(msgCtx);
DeliveryProperties deliveryProps = new DeliveryProperties();
MessageProperties msgProps = new MessageProperties();
fillMessageHeaders(msgCtx,amqpTransportInfo,session,waitForResponse,deliveryProps,msgProps);
synchronized(session){
session.header(msgProps,deliveryProps);
session.data(message);