[jbpm-commits] JBoss JBPM SVN: r6646 - jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/type/converter.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Sep 2 08:32:06 EDT 2010


Author: rebody
Date: 2010-09-02 08:32:06 -0400 (Thu, 02 Sep 2010)
New Revision: 6646

Modified:
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/type/converter/DateToStringConverter.java
Log:
JBPM-2931 simpleDateFormat is not thread safe. so create instances each times.

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/type/converter/DateToStringConverter.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/type/converter/DateToStringConverter.java	2010-09-02 10:48:30 UTC (rev 6645)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/type/converter/DateToStringConverter.java	2010-09-02 12:32:06 UTC (rev 6646)
@@ -37,26 +37,28 @@
 public class DateToStringConverter implements Converter {
 
   private static final long serialVersionUID = 1L;
-  
-  DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS");
-  
+
+  private String format = "yyyy-MM-dd HH:mm:ss,SSS";
+
   public Object convert(Object o, ScopeInstanceImpl scopeInstance, Variable variable) {
-    return dateFormat.format((Date)o);
+    DateFormat dateFormat = new SimpleDateFormat(format);
+    return dateFormat.format((Date) o);
   }
 
   public Object revert(Object o, ScopeInstanceImpl scopeInstance, Variable variable) {
     try {
-      return dateFormat.parseObject((String)o);
+      DateFormat dateFormat = new SimpleDateFormat(format);
+      return dateFormat.parseObject((String) o);
     } catch (ParseException e) {
-      throw new JbpmException("invalid date format in date variable: "+o, e);
+      throw new JbpmException("invalid date format in date variable: " + o, e);
     }
   }
 
   public boolean supports(Object value, ScopeInstanceImpl scopeInstance, Variable variable) {
-    return ((value!=null) && (value instanceof Date));
+    return ((value != null) && (value instanceof Date));
   }
 
   public void setFormat(String format) {
-    dateFormat = new SimpleDateFormat(format);
+    this.format = format;
   }
 }



More information about the jbpm-commits mailing list