Author: tolusha
Date: 2012-03-28 03:22:01 -0400 (Wed, 28 Mar 2012)
New Revision: 5973
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java
Log:
EXOJCR-1825: resume threads at stopping container
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java 2012-03-27
12:34:58 UTC (rev 5972)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java 2012-03-28
07:22:01 UTC (rev 5973)
@@ -701,6 +701,12 @@
public void stop()
{
handler.close();
+
+ if (handler instanceof SearchIndex)
+ {
+ ((SearchIndex)handler).resumeWaitingThreads();
+ }
+
// ChangesFiler instance is one for both SearchManagers and close() must be invoked
only once,
if (parentSearchManager != null)
{
@@ -1545,9 +1551,9 @@
if (!isSuspended.get())
{
- if (handler instanceof Suspendable)
+ if (handler instanceof SearchIndex)
{
- ((Suspendable)handler).suspend();
+ ((SearchIndex)handler).suspend();
}
isSuspended.set(true);
@@ -1558,9 +1564,9 @@
{
if (isSuspended.get())
{
- if (handler instanceof Suspendable)
+ if (handler instanceof SearchIndex)
{
- ((Suspendable)handler).resume();
+ ((SearchIndex)handler).resume();
}
isSuspended.set(false);
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java 2012-03-27
12:34:58 UTC (rev 5972)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java 2012-03-28
07:22:01 UTC (rev 5973)
@@ -55,7 +55,6 @@
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.backup.ResumeException;
import org.exoplatform.services.jcr.impl.backup.SuspendException;
-import org.exoplatform.services.jcr.impl.backup.Suspendable;
import org.exoplatform.services.jcr.impl.checker.InspectionReport;
import org.exoplatform.services.jcr.impl.core.LocationFactory;
import org.exoplatform.services.jcr.impl.core.SessionDataManager;
@@ -108,7 +107,7 @@
* Implements a {@link org.apache.jackrabbit.core.query.QueryHandler} using
* Lucene.
*/
-public class SearchIndex extends AbstractQueryHandler implements IndexerIoModeListener,
Suspendable
+public class SearchIndex extends AbstractQueryHandler implements IndexerIoModeListener
{
private static final DefaultQueryNodeFactory DEFAULT_QUERY_NODE_FACTORY = new
DefaultQueryNodeFactory();
@@ -1285,7 +1284,6 @@
index.close();
getContext().destroy();
closed.set(true);
- resumeWaitingThreads();
log.info("Index closed: " + path);
}
@@ -3424,7 +3422,7 @@
* Count down latcher which makes for resuming all
* waiting threads.
*/
- private void resumeWaitingThreads()
+ public void resumeWaitingThreads()
{
if (latcher.get() != null)
{
@@ -3433,14 +3431,6 @@
}
/**
- * {@inheritDoc}
- */
- public int getPriority()
- {
- return PRIORITY_NORMAL;
- }
-
- /**
* @return the indexingThreadPoolSize
*/
public Integer getIndexingThreadPoolSize()
Show replies by date