ECKey.ECDSASignature creation I have my ECKey key. In order to create an ECDSASignature object with BitcoinJ, we have to call ECDSASignature mySignature = key.sign(Sha256Hash input).

Is the Sha256Hash input my message? Or is it the result of Sha256(byte[] myArray)?

What if I don't have a message to sign? Is it acceptable to sign the key.getPrivKeyBytes() in order to create an ECDSASignature, or it is unacceptable because it reveals information including in getPrivKeyBytes() and as a result reveal my private key?

And if it is unacceptable what must be my message? Can I can sign whatever I want in order to create my ECDSASignature?
Signing the bytes of the private key of ECKey key is unacceptable because you are vulnerable for realeasing information about your private key.

In the case of signing a message(as a String) you have to estimate the :

 byte[] result= sha256(message)


The result will be a byte[] and this array finally will insert to the :

 Sha256Hash input= new Sha256Hash(result);


Then the procedure is simple in order to produce the ECDSASignature.
You have to do the following:

ECDSASignature signature= key.sign(input);


and finally in order to validate your signature you have to check the following:

key.verify(input, signature)