Comment faire pour obtenir l'heure actuelle au format AAAA-MM-JJ HH:MI:S Milliseconde format en Java?

Le code ci-dessous me donne l'heure actuelle. Mais il ne dit rien à propos de millisecondes.

public static String getCurrentTimeStamp() {
    SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//dd/MM/yyyy
    Date now = new Date();
    String strDate = sdfDate.format(now);
    return strDate;
}

Je obtenir la date dans le format 2009-09-22 16:47:08 (AAAA-MM-JJ HH:MI:Sec).

Mais je veux récupérer l'heure courante au format 2009-09-22 16:47:08.128 ((AAAA-MM-JJ HH:MI:S Ms)- où 128 indique l'ordre de la milliseconde.

SimpleTextFormat fonctionnera très bien. Ici, la plus petite unité de temps est la seconde, mais comment puis-je obtenir de l'ordre de la milliseconde ainsi?