Author: ngn
Date: Fri Dec 5 13:44:17 2008
New Revision: 723885
URL: http://svn.apache.org/viewvc?rev=723885&view=rev
Log:
Use static SimpleDateFormat (FTPSERVER-229)
Modified:
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/DateUtils.java
Modified:
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/DateUtils.java
URL:
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/DateUtils.java?rev=723885&r1=723884&r2=723885&view=diff
==============================================================================
---
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/DateUtils.java
(original)
+++
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/DateUtils.java
Fri Dec 5 13:44:17 2008
@@ -40,17 +40,21 @@
private final static String[] MONTHS = { "Jan", "Feb", "Mar", "Apr", "May",
"Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
-
/*
* Creates the DateFormat object used to parse/format
* dates in FTP format.
*/
- private final static DateFormat createFTPDateFormat(){
- DateFormat df=new SimpleDateFormat("yyyyMMddHHmmss");
- df.setLenient(false);
- df.setTimeZone(TimeZone.getTimeZone("GMT"));
- return df;
- }
+ private static final ThreadLocal<DateFormat> FTP_DATE_FORMAT = new
ThreadLocal<DateFormat>() {
+
+ @Override
+ protected DateFormat initialValue() {
+ DateFormat df=new SimpleDateFormat("yyyyMMddHHmmss");
+ df.setLenient(false);
+ df.setTimeZone(TimeZone.getTimeZone("GMT"));
+ return df;
+ }
+
+ };
/**
* Get unix style date string.
@@ -221,9 +225,7 @@
* involving dates(MFMT, MDTM)
*/
public final static Date parseFTPDate(String dateStr) throws
ParseException{
- // TODO: Here we could use a single DateFormat (in a thread-safe way)
- // instead of one per call
- return createFTPDateFormat().parse(dateStr);
+ return FTP_DATE_FORMAT.get().parse(dateStr);
}