--- /dev/null
+package de.halbekunst.juplo.examples.spring;
+
+import de.halbekunst.juplo.cachecontrol.annotations.CacheSeconds;
+import de.halbekunst.juplo.cachecontrol.annotations.Cacheable;
+import de.halbekunst.juplo.cachecontrol.annotations.LastModified;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.TreeMap;
+import javax.servlet.http.HttpServletRequest;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.servlet.ModelAndView;
+
+
+/**
+ * Simple Spring-MVC Controller
+ * @author kai
+ */
+@Controller
+@Cacheable(eager=true)
+public class FaultyController
+{
+ public static final String ACCESS_TIME = FaultyController.class.getCanonicalName() + ".ACCESS_TIME";
+ public static final Integer DEFAULT_MAX_AGE = 60;
+
+ private final static long lastModified = System.currentTimeMillis();
+
+ @CacheSeconds
+ public int cacheSeconds(HttpServletRequest request) {
+ return DEFAULT_MAX_AGE;
+ }
+
+ @LastModified
+ public long lastModified(HttpServletRequest request) {
+ return lastModified;
+ }
+
+ @RequestMapping("/faulty-controller.html")
+ public ModelAndView process(HttpServletRequest request)
+ {
+ throw new RuntimeException("Oh, no!");
+ }
+}
\ No newline at end of file