You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by ps...@apache.org on 2007/10/16 05:44:53 UTC
svn commit: r585021 - in /labs/pinpoint/trunk: pinpoint-search/
pinpoint-search/src/main/java/org/apache/logging/pinpoint/search/
pinpoint-web/ pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/
pinpoint-web/src/main/resources/org/ pinpoint-we...
Author: psmith
Date: Mon Oct 15 20:44:52 2007
New Revision: 585021
URL: http://svn.apache.org/viewvc?rev=585021&view=rev
Log:
Add ehcache to the list of dependencies, and allow PinpointSearcher instances to be managed
by it's cacheloader mechanism with an auto-closing listener class. This will also be used
for search results soon.
Added beginnings of a Navigation controller mechanism that will allow next/previous/first/last
etc control mechanisms to a search results object. It's just currently a shell at the moment.
Added:
labs/pinpoint/trunk/pinpoint-search/src/main/java/org/apache/logging/pinpoint/search/PinpointSearcherCache.java
labs/pinpoint/trunk/pinpoint-search/src/main/java/org/apache/logging/pinpoint/search/PinpointSearcherCacheEntryFactory.java
labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearchResultsNavigator.java
labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearcherEhCacheRegionFactory.java
labs/pinpoint/trunk/pinpoint-web/src/main/resources/org/
labs/pinpoint/trunk/pinpoint-web/src/main/resources/org/apache/
labs/pinpoint/trunk/pinpoint-web/src/main/resources/org/apache/logging/
labs/pinpoint/trunk/pinpoint-web/src/main/resources/org/apache/logging/pinpoint/
labs/pinpoint/trunk/pinpoint-web/src/main/resources/org/apache/logging/pinpoint/web/
labs/pinpoint/trunk/pinpoint-web/src/main/resources/org/apache/logging/pinpoint/web/pinpoint-web-ehcache.xml
Modified:
labs/pinpoint/trunk/pinpoint-search/pom.xml
labs/pinpoint/trunk/pinpoint-web/pom.xml
labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearchContextController.java
labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/dispatcher-servlet.xml
labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/jsp/results.jsp
labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/web.xml
Modified: labs/pinpoint/trunk/pinpoint-search/pom.xml
URL: http://svn.apache.org/viewvc/labs/pinpoint/trunk/pinpoint-search/pom.xml?rev=585021&r1=585020&r2=585021&view=diff
==============================================================================
--- labs/pinpoint/trunk/pinpoint-search/pom.xml (original)
+++ labs/pinpoint/trunk/pinpoint-search/pom.xml Mon Oct 15 20:44:52 2007
@@ -46,9 +46,14 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- <version>1.4</version>
+ <groupId>joda-time</groupId>
+ <artifactId>joda-time</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.ehcache</groupId>
+ <artifactId>ehcache</artifactId>
+ <version>1.4.0-beta</version>
</dependency>
</dependencies>
</project>
Added: labs/pinpoint/trunk/pinpoint-search/src/main/java/org/apache/logging/pinpoint/search/PinpointSearcherCache.java
URL: http://svn.apache.org/viewvc/labs/pinpoint/trunk/pinpoint-search/src/main/java/org/apache/logging/pinpoint/search/PinpointSearcherCache.java?rev=585021&view=auto
==============================================================================
--- labs/pinpoint/trunk/pinpoint-search/src/main/java/org/apache/logging/pinpoint/search/PinpointSearcherCache.java (added)
+++ labs/pinpoint/trunk/pinpoint-search/src/main/java/org/apache/logging/pinpoint/search/PinpointSearcherCache.java Mon Oct 15 20:44:52 2007
@@ -0,0 +1,51 @@
+package org.apache.logging.pinpoint.search;
+
+import java.io.Serializable;
+
+import net.sf.ehcache.Ehcache;
+import net.sf.ehcache.Element;
+
+import org.apache.log4j.Logger;
+import org.apache.logging.pinpoint.PinpointContext;
+import org.apache.logging.pinpoint.utils.PinpointUtils;
+
+public class PinpointSearcherCache {
+
+ private static Logger LOG = PinpointUtils
+ .getLogger(PinpointSearcherCache.class);
+
+ private Ehcache cache;
+
+ public final Ehcache getCache() {
+ return cache;
+ }
+
+ public final void setCache(Ehcache cache) {
+ this.cache = cache;
+ }
+
+ /**
+ * Returns a valid and warmed up PinpointSearcher object from the cache and
+ * keeps it alive according to configured policies.
+ *
+ * @param ctx
+ * @return
+ */
+ public PinpointSearcher getSearcher(PinpointContext context) {
+ PinpointSearcher pinpointSearcher;
+
+ Element element = cache.get(createKey(context));
+ if (element == null) {
+ throw new RuntimeException(
+ "Failed to retrieve the PinpointSearcher for context " +
+ context.getContextName());
+ } else {
+ pinpointSearcher = (PinpointSearcher) element.getObjectValue();
+ }
+ return pinpointSearcher;
+ }
+
+ private Serializable createKey(PinpointContext context) {
+ return context.getContextName();
+ }
+}
Added: labs/pinpoint/trunk/pinpoint-search/src/main/java/org/apache/logging/pinpoint/search/PinpointSearcherCacheEntryFactory.java
URL: http://svn.apache.org/viewvc/labs/pinpoint/trunk/pinpoint-search/src/main/java/org/apache/logging/pinpoint/search/PinpointSearcherCacheEntryFactory.java?rev=585021&view=auto
==============================================================================
--- labs/pinpoint/trunk/pinpoint-search/src/main/java/org/apache/logging/pinpoint/search/PinpointSearcherCacheEntryFactory.java (added)
+++ labs/pinpoint/trunk/pinpoint-search/src/main/java/org/apache/logging/pinpoint/search/PinpointSearcherCacheEntryFactory.java Mon Oct 15 20:44:52 2007
@@ -0,0 +1,47 @@
+package org.apache.logging.pinpoint.search;
+
+import java.io.IOException;
+
+import org.apache.logging.pinpoint.PinpointContext;
+import org.apache.logging.pinpoint.PinpointHome;
+import org.apache.logging.pinpoint.store.EventStore;
+import org.apache.logging.pinpoint.store.EventStoreFactory;
+import org.apache.logging.pinpoint.store.SimpleEventStoreFactory;
+
+import net.sf.ehcache.constructs.blocking.CacheEntryFactory;
+
+public class PinpointSearcherCacheEntryFactory implements CacheEntryFactory {
+
+ private EventStoreFactory eventStoreFactory = new SimpleEventStoreFactory();
+ private PinpointHome pinpointHome;
+
+ public final EventStoreFactory getEventStoreFactory() {
+ return eventStoreFactory;
+ }
+
+ public final void setEventStoreFactory(EventStoreFactory eventStoreFactory) {
+ this.eventStoreFactory = eventStoreFactory;
+ }
+
+ public final PinpointHome getPinpointHome() {
+ return pinpointHome;
+ }
+
+ public final void setPinpointHome(PinpointHome pinpointHome) {
+ this.pinpointHome = pinpointHome;
+ }
+
+ public Object createEntry(Object key) throws Exception {
+ PinpointContext context = pinpointHome.createContext(key.toString());
+ EventStore eventStore = eventStoreFactory.createEventStore(context);
+ try {
+ PinpointSearcher pinpointSearcher = new PinpointSearcher(context,
+ eventStore);
+ return pinpointSearcher;
+ } catch (IOException e) {
+ throw new RuntimeException("Failed to create the PinpointSearcher",
+ e);
+ }
+ }
+
+}
Modified: labs/pinpoint/trunk/pinpoint-web/pom.xml
URL: http://svn.apache.org/viewvc/labs/pinpoint/trunk/pinpoint-web/pom.xml?rev=585021&r1=585020&r2=585021&view=diff
==============================================================================
--- labs/pinpoint/trunk/pinpoint-web/pom.xml (original)
+++ labs/pinpoint/trunk/pinpoint-web/pom.xml Mon Oct 15 20:44:52 2007
@@ -56,5 +56,23 @@
<artifactId>org.mortbay.jetty</artifactId>
<version>5.1.G1</version>
</dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>3.2</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.2</version>
+ </dependency>
+
+<!-- I don't get why I need this here to debug the jetty context in eclipse, but it doesn't work without it, even though pinpoint-search project depends on ehcache... -->
+
+ <dependency>
+ <groupId>net.sf.ehcache</groupId>
+ <artifactId>ehcache</artifactId>
+ <version>1.4.0-beta</version>
+ </dependency>
</dependencies>
</project>
Modified: labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearchContextController.java
URL: http://svn.apache.org/viewvc/labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearchContextController.java?rev=585021&r1=585020&r2=585021&view=diff
==============================================================================
--- labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearchContextController.java (original)
+++ labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearchContextController.java Mon Oct 15 20:44:52 2007
@@ -9,11 +9,11 @@
import org.apache.logging.pinpoint.PinpointContext;
import org.apache.logging.pinpoint.PinpointHome;
import org.apache.logging.pinpoint.search.PinpointSearchModel;
+import org.apache.logging.pinpoint.search.PinpointSearchQueryParser;
import org.apache.logging.pinpoint.search.PinpointSearchResults;
import org.apache.logging.pinpoint.search.PinpointSearcher;
-import org.apache.logging.pinpoint.store.EventStore;
-import org.apache.logging.pinpoint.store.SimpleEventStore;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.logging.pinpoint.search.PinpointSearcherCache;
+import org.apache.lucene.search.Query;
import org.springframework.validation.Errors;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
@@ -22,12 +22,22 @@
private PinpointHome pinpointHome;
- private QueryParser queryParser;
+ private PinpointSearchQueryParser queryParser;
+
+ private PinpointSearcherCache searcherCache;
+
+ public final PinpointSearchQueryParser getQueryParser() {
+ return queryParser;
+ }
+
+ public final void setQueryParser(PinpointSearchQueryParser queryParser) {
+ this.queryParser = queryParser;
+ }
@Override
protected Map referenceData(HttpServletRequest request, Object command,
Errors errors) throws Exception {
- Map map = new HashMap();
+ Map<String, Object> map = new HashMap<String, Object>();
List<PinpointContext> ctxs = pinpointHome.listContexts();
map.put("pinpointContexts", ctxs);
@@ -42,6 +52,14 @@
this.pinpointHome = pinpointHome;
}
+ public final PinpointSearcherCache getSearcherCache() {
+ return searcherCache;
+ }
+
+ public final void setSearcherCache(PinpointSearcherCache searcherCache) {
+ this.searcherCache = searcherCache;
+ }
+
@Override
protected ModelAndView onSubmit(Object command) throws Exception {
ModelAndView mav = new ModelAndView(getSuccessView());
@@ -49,24 +67,20 @@
PinpointSearchModel searchModel = (PinpointSearchModel) command;
PinpointContext context = searchModel.getContext();
- EventStore eventStore = new SimpleEventStore(context);
- PinpointSearcher pinpointSearcher = new PinpointSearcher(context,
- eventStore);
+
+ Query query = queryParser.parse(searchModel);
+
+ PinpointSearcher pinpointSearcher = getSearcherCache().getSearcher(
+ context);
// TODO this should go into the session for subsequent views
- PinpointSearchResults searchResults = pinpointSearcher
- .search(queryParser.parse(searchModel.getSearchQuery()));
+ PinpointSearchResults searchResults = pinpointSearcher.search(query);
+
+ // TODO where does the results sit? In Session or in a cache by context
+ // and query?
mav.addObject("searchResults", searchResults);
return mav;
- }
-
- public final QueryParser getQueryParser() {
- return queryParser;
- }
-
- public final void setQueryParser(QueryParser queryParser) {
- this.queryParser = queryParser;
}
}
Added: labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearchResultsNavigator.java
URL: http://svn.apache.org/viewvc/labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearchResultsNavigator.java?rev=585021&view=auto
==============================================================================
--- labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearchResultsNavigator.java (added)
+++ labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearchResultsNavigator.java Mon Oct 15 20:44:52 2007
@@ -0,0 +1,16 @@
+package org.apache.logging.pinpoint.web;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.web.servlet.ModelAndView;
+
+public class PinpointSearchResultsNavigator {
+
+ public ModelAndView next(HttpServletRequest req, HttpServletResponse res) {
+ // TODO configure results view name?
+ ModelAndView mav = new ModelAndView("results");
+
+ return mav;
+ }
+}
Added: labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearcherEhCacheRegionFactory.java
URL: http://svn.apache.org/viewvc/labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearcherEhCacheRegionFactory.java?rev=585021&view=auto
==============================================================================
--- labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearcherEhCacheRegionFactory.java (added)
+++ labs/pinpoint/trunk/pinpoint-web/src/main/java/org/apache/logging/pinpoint/web/PinpointSearcherEhCacheRegionFactory.java Mon Oct 15 20:44:52 2007
@@ -0,0 +1,133 @@
+package org.apache.logging.pinpoint.web;
+
+import net.sf.ehcache.Cache;
+import net.sf.ehcache.CacheException;
+import net.sf.ehcache.CacheManager;
+import net.sf.ehcache.Ehcache;
+import net.sf.ehcache.Element;
+import net.sf.ehcache.constructs.blocking.CacheEntryFactory;
+import net.sf.ehcache.constructs.blocking.SelfPopulatingCache;
+import net.sf.ehcache.event.CacheEventListener;
+import net.sf.ehcache.store.MemoryStoreEvictionPolicy;
+
+import org.apache.logging.pinpoint.search.PinpointSearcher;
+import org.springframework.beans.factory.FactoryBean;
+import org.springframework.beans.factory.InitializingBean;
+
+/**
+ * A Factory-bean that knows how to create an EHCache region that understands
+ * what to do with PinpointSearcher instances on expiry or removal (it closes
+ * them nicely).
+ *
+ * This closs uses some sane defaults that make sense for the configuration of
+ * the cache.
+ *
+ * @author paulsmith
+ *
+ */
+public class PinpointSearcherEhCacheRegionFactory implements FactoryBean,
+ InitializingBean {
+
+ private CacheManager cacheManager;
+
+ private final class ClosingSearcherCacheEventListener implements
+ CacheEventListener {
+
+ public Object clone() {
+ throw new UnsupportedOperationException("clone() not supported");
+ }
+
+ public void dispose() {
+ }
+
+ public void notifyElementEvicted(Ehcache arg0, Element arg1) {
+
+ }
+
+ public void notifyElementExpired(Ehcache arg0, Element element) {
+ closeSearcher(element);
+
+ }
+
+ public void notifyElementPut(Ehcache arg0, Element arg1)
+ throws CacheException {
+ }
+
+ public void notifyElementRemoved(Ehcache arg0, Element element)
+ throws CacheException {
+ closeSearcher(element);
+
+ }
+
+ public void notifyElementUpdated(Ehcache arg0, Element arg1)
+ throws CacheException {
+
+ }
+
+ public void notifyRemoveAll(Ehcache arg0) {
+
+ }
+ }
+
+ private CacheEntryFactory cacheEntryFactory;
+ private int maxElementsInMemory = 5;
+ private MemoryStoreEvictionPolicy memoryStoreEvictionPolicy = MemoryStoreEvictionPolicy.LRU;
+ private boolean overflowToDisk = false;
+ private String diskStorePath = "";
+ private boolean eternal = false;
+ private long timeToLive = 30;
+ private long timeToIdle = 0;
+ private boolean diskPersistent = false;
+ private long diskExpiryThreadIntervalSeconds = 5;
+ private SelfPopulatingCache selfPopulatingCache;
+
+ public Object getObject() throws Exception {
+ return this.selfPopulatingCache;
+ }
+
+ public void afterPropertiesSet() {
+ Cache cache = new Cache("pinpoint.searcher", this.maxElementsInMemory,
+ this.memoryStoreEvictionPolicy, this.overflowToDisk,
+ this.diskStorePath, this.eternal, this.timeToLive,
+ this.timeToIdle, this.diskPersistent,
+ this.diskExpiryThreadIntervalSeconds, null);
+ this.selfPopulatingCache = new SelfPopulatingCache(cache,
+ cacheEntryFactory);
+ selfPopulatingCache.getCacheEventNotificationService()
+ .registerListener(new ClosingSearcherCacheEventListener());
+
+ cacheManager.addCache(selfPopulatingCache);
+ }
+
+ private void closeSearcher(Element element) {
+ PinpointSearcher searcher = (PinpointSearcher) element.getObjectValue();
+ searcher.close();
+
+ }
+
+ public Class getObjectType() {
+ return (this.selfPopulatingCache != null ? this.selfPopulatingCache
+ .getClass() : Ehcache.class);
+ }
+
+ public boolean isSingleton() {
+ return false;
+ }
+
+ public final CacheEntryFactory getCacheEntryFactory() {
+ return cacheEntryFactory;
+ }
+
+ public final void setCacheEntryFactory(CacheEntryFactory cacheEntryFactory) {
+ this.cacheEntryFactory = cacheEntryFactory;
+ }
+
+ public final CacheManager getCacheManager() {
+ return cacheManager;
+ }
+
+ public final void setCacheManager(CacheManager cacheManager) {
+ this.cacheManager = cacheManager;
+ }
+
+}
Added: labs/pinpoint/trunk/pinpoint-web/src/main/resources/org/apache/logging/pinpoint/web/pinpoint-web-ehcache.xml
URL: http://svn.apache.org/viewvc/labs/pinpoint/trunk/pinpoint-web/src/main/resources/org/apache/logging/pinpoint/web/pinpoint-web-ehcache.xml?rev=585021&view=auto
==============================================================================
--- labs/pinpoint/trunk/pinpoint-web/src/main/resources/org/apache/logging/pinpoint/web/pinpoint-web-ehcache.xml (added)
+++ labs/pinpoint/trunk/pinpoint-web/src/main/resources/org/apache/logging/pinpoint/web/pinpoint-web-ehcache.xml Mon Oct 15 20:44:52 2007
@@ -0,0 +1,53 @@
+
+<ehcache>
+
+ <!-- Sets the path to the directory where cache .data files are created.
+
+ If the path is a Java System Property it is replaced by
+ its value in the running VM.
+
+ The following properties are translated:
+ user.home - User's home directory
+ user.dir - User's current working directory
+ java.io.tmpdir - Default temp file path -->
+ <diskStore path="java.io.tmpdir"/>
+
+
+ <!--Default Cache configuration. These will applied to caches programmatically created through
+ the CacheManager.
+
+ The following attributes are required for defaultCache:
+
+ maxInMemory - Sets the maximum number of objects that will be created in memory
+ eternal - Sets whether elements are eternal. If eternal, timeouts are ignored and the element
+ is never expired.
+ timeToIdleSeconds - Sets the time to idle for an element before it expires.
+ i.e. The maximum amount of time between accesses before an element expires
+ Is only used if the element is not eternal.
+ Optional attribute. A value of 0 means that an Element can idle for infinity
+ timeToLiveSeconds - Sets the time to live for an element before it expires.
+ i.e. The maximum time between creation time and when an element expires.
+ Is only used if the element is not eternal.
+ overflowToDisk - Sets whether elements can overflow to disk when the in-memory cache
+ has reached the maxInMemory limit.
+
+ -->
+
+ <defaultCache
+ maxElementsInMemory="300"
+ eternal="false"
+ timeToIdleSeconds="10"
+ timeToLiveSeconds="0"
+ overflowToDisk="false"
+ diskExpiryThreadIntervalSeconds="5"
+ />
+
+ <cache name="pinpoint.searcher"
+ maxElementsInMemory="300"
+ eternal="false"
+ timeToIdleSeconds="10"
+ timeToLiveSeconds="0"
+ overflowToDisk="false"
+ diskExpiryThreadIntervalSeconds="5"
+ />
+</ehcache>
Modified: labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/dispatcher-servlet.xml
URL: http://svn.apache.org/viewvc/labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/dispatcher-servlet.xml?rev=585021&r1=585020&r2=585021&view=diff
==============================================================================
--- labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/dispatcher-servlet.xml (original)
+++ labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/dispatcher-servlet.xml Mon Oct 15 20:44:52 2007
@@ -28,6 +28,8 @@
<property name="pinpointHome" ref="pinpointHome" />
<property name="propertyEditorRegistrar" ref="pinpointContextEditorRegistrar" />
+ <property name="searcherCache" ref="pinpointSearcherCache" />
+
<property name="queryParser" ref="queryParser" />
</bean>
@@ -36,6 +38,18 @@
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
+
+ <bean name="/resultNavigator.do" class="org.springframework.web.servlet.mvc.multiaction.MultiActionController">
+ <property name="methodNameResolver">
+ <bean class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
+ <property name="paramName" value="action"/>
+ </bean>
+ </property>
+ <property name="delegate">
+ <bean class="org.apache.logging.pinpoint.web.PinpointSearchResultsNavigator" />
+ </property>
+
+ </bean>
<bean id="pinpointContextEditor" class="org.apache.logging.pinpoint.PinpointContextEditor">
<property name="pinpointHome" ref="pinpointHome" />
@@ -47,9 +61,43 @@
<bean id="analyzer" class="org.apache.lucene.analysis.standard.StandardAnalyzer" />
- <bean id="queryParser" class="org.apache.lucene.queryParser.QueryParser">
- <constructor-arg value="message" />
- <constructor-arg ref="analyzer" />
+
+ <bean id="queryParser" class="org.apache.logging.pinpoint.search.DefaultPinpointSearchQueryParser">
+ <property name="analyzer" ref="analyzer" />
+ </bean>
+
+ <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
+<!-- <property name="configLocation">
+ <value>classpath:org/apache/logging/pinpoint/web/pinpoint-web-ehcache.xml</value>
+ </property>
+ -->
+
+ </bean>
+
+
+ <bean id="searcherCacheRegion" class="org.apache.logging.pinpoint.web.PinpointSearcherEhCacheRegionFactory">
+ <property name="cacheEntryFactory" ref="pinpointSearcherCacheEntryFactory" />
+ <property name="cacheManager" ref="cacheManager"/>
+ </bean>
+
+<!-- <bean id="searcherCacheRegion" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
+ <property name="cacheManager" ref="cacheManager"/>
+ <property name="cacheName">
+ <value>pinpoint.searcher</value>
+ </property>
+ <property name="timeToIdle" value="5" />
+ <property name="timeToLive" value="0" />
+ <property name="overflowToDisk" value="false" />
+ <property name="diskExpiryThreadIntervalSeconds" value="5" />
+ <property name="cacheEntryFactory" ref="pinpointSearcherCacheEntryFactory" />
+ </bean> -->
+
+ <bean id="pinpointSearcherCacheEntryFactory" class="org.apache.logging.pinpoint.search.PinpointSearcherCacheEntryFactory">
+ <property name="pinpointHome" ref="pinpointHome" />
+ </bean>
+
+ <bean id="pinpointSearcherCache" class="org.apache.logging.pinpoint.search.PinpointSearcherCache">
+ <property name="cache" ref="searcherCacheRegion" />
</bean>
</beans>
Modified: labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/jsp/results.jsp
URL: http://svn.apache.org/viewvc/labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/jsp/results.jsp?rev=585021&r1=585020&r2=585021&view=diff
==============================================================================
--- labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/jsp/results.jsp (original)
+++ labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/jsp/results.jsp Mon Oct 15 20:44:52 2007
@@ -1 +1,6 @@
-results
\ No newline at end of file
+<%@ page import="org.apache.commons.collections.*"%>
+<%@ page import="org.apache.commons.lang.*"%>
+<!--<%=StringUtils.join(IteratorUtils.asIterator(request.getAttributeNames()), ",") %>-->
+<%=request.getAttribute("searchResults")%>
+
+<a href="resultNavigator.do?action=next">next</a>
\ No newline at end of file
Modified: labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/web.xml?rev=585021&r1=585020&r2=585021&view=diff
==============================================================================
--- labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/web.xml (original)
+++ labs/pinpoint/trunk/pinpoint-web/src/main/webapp/WEB-INF/web.xml Mon Oct 15 20:44:52 2007
@@ -5,10 +5,17 @@
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
+
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.form</url-pattern>
</servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>dispatcher</servlet-name>
+ <url-pattern>*.do</url-pattern>
+ </servlet-mapping>
+
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org