Projekt von de.halbekunst.juplo nach de.juplo verschoben und aufgerÀumt
[percentcodec] / accelerator-examples / spring / src / main / java / de / juplo / accelerator / examples / spring / FaultyController.java
diff --git a/accelerator-examples/spring/src/main/java/de/juplo/accelerator/examples/spring/FaultyController.java b/accelerator-examples/spring/src/main/java/de/juplo/accelerator/examples/spring/FaultyController.java
new file mode 100644 (file)
index 0000000..58c45c6
--- /dev/null
@@ -0,0 +1,40 @@
+package de.juplo.accelerator.examples.spring;
+
+import de.juplo.accelerator.annotations.CacheSeconds;
+import de.juplo.accelerator.annotations.Cacheable;
+import de.juplo.accelerator.annotations.LastModified;
+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