9
votes

Le fil de classe Java MessageFormat est-il sécurisé? (par opposition à SimpleDateDeformat)

Je sais que SimpleDateFormat et NumberFormat ne sont pas un fil de sécurité.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4101500

Mais qu'en est-il des autres classes de format comme MessageFormat?

fortify 360 marque l'utilisation de "MessageFormat.Format (String, Object ...)" Méthode statique en tant que "Etat de la race - Format de format", mais lorsque j'analyse le code source de MessageFormat, j'ai vu que Dans cette méthode, il crée une nouvelle instance locale de MessageFormat lui-même.

Le fil de la classe Java MessageFormat est-il sécurisé?


0 commentaires

3 Réponses :



8
votes

Si vous vous référez à la méthode

public static String format(String pattern, Object... arguments)


0 commentaires

0
votes

par javadoc, MessageFormat Les objets ne sont pas du thread-coffre-fort. Vous pouvez utiliser un ThreadLocal code> pour créer un objet séparé pour chaque fil qui en a besoin d'un.

ThreadLocal<MessageFormat> threadLocalMessageFormat =
    new ThreadLocal<MessageFormat>() {
        @Override
        protected MessageFormat initialValue() {
            return new MessageFormat(pattern);
        }
    };


0 commentaires