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;
}
}
Show replies by date