convertir curl llamada en java urlconnection llamada

Tengo comando curl:

curl -i -u guest:guest -H "content-type:application/json"
-XPUT \ http://localhost:15672/api/traces/%2f/my-trace \
-d'{"format":"text","pattern":"#"}'

Y quiero crear una solicitud HTTP en la API de Java que hará lo mismo. Este comando de rizo se puede encontrar en esteLeer. Se utiliza para iniciar el registro de grabación en RabbitMQ. La respuesta no es importante.

Por ahora he creado algo como esto (he eliminado las líneas menos importantes, es decir, con la excepción de captura, etc.), pero desafortunadamente no funciona:

url = new URL("http://localhost:15672/api/traces/%2f/my-trace");
uc = url.openConnection();

uc.setRequestProperty("Content-Type", "application/json");
uc.setRequestProperty("format","json");
uc.setRequestProperty("pattern","#")
String userpass = "guest:guest";
String basicAuth = "Basic " + javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes());
uc.setRequestProperty ("Authorization", basicAuth);

CODIGO COMPLETO

Respuestas a la pregunta(2)

Su respuesta a la pregunta