Package org.languagetool.server
Class PipelinePool
- java.lang.Object
-
- org.languagetool.server.PipelinePool
-
class PipelinePool extends java.lang.Object
Caches pre-configured JLanguageTool instances to avoid costly setup time of rules, etc. TODO: reimplement using apache commons KeyedObjectPool
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PipelinePool.PipelineSettings
-
Field Summary
Fields Modifier and Type Field Description private org.languagetool.ResultCache
cache
private HTTPServerConfig
config
private boolean
internalServer
private static org.slf4j.Logger
logger
(package private) static long
PIPELINE_EXPIRE_TIME
private long
pipelineExpireCheckTimestamp
private long
pipelinesUsed
private com.google.common.cache.LoadingCache<PipelinePool.PipelineSettings,java.util.concurrent.ConcurrentLinkedQueue<Pipeline>>
pool
private long
requests
-
Constructor Summary
Constructors Constructor Description PipelinePool(HTTPServerConfig config, org.languagetool.ResultCache cache, boolean internalServer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
configureFromGUI(org.languagetool.JLanguageTool langTool, org.languagetool.Language lang)
private void
configureFromRulesFile(org.languagetool.JLanguageTool langTool, org.languagetool.Language lang)
(package private) Pipeline
createPipeline(org.languagetool.Language lang, org.languagetool.Language motherTongue, TextChecker.QueryParams params, org.languagetool.GlobalConfig globalConfig, org.languagetool.UserConfig userConfig, java.util.List<java.lang.String> disabledRuleIds)
Create a JLanguageTool instance for a specific language, mother tongue, and rule configuration.(package private) Pipeline
getPipeline(PipelinePool.PipelineSettings settings)
(package private) void
returnPipeline(PipelinePool.PipelineSettings settings, Pipeline pipeline)
-
-
-
Field Detail
-
logger
private static final org.slf4j.Logger logger
-
PIPELINE_EXPIRE_TIME
static final long PIPELINE_EXPIRE_TIME
- See Also:
- Constant Field Values
-
config
private final HTTPServerConfig config
-
cache
private final org.languagetool.ResultCache cache
-
pool
private final com.google.common.cache.LoadingCache<PipelinePool.PipelineSettings,java.util.concurrent.ConcurrentLinkedQueue<Pipeline>> pool
-
internalServer
private final boolean internalServer
-
pipelineExpireCheckTimestamp
private long pipelineExpireCheckTimestamp
-
pipelinesUsed
private long pipelinesUsed
-
requests
private long requests
-
-
Constructor Detail
-
PipelinePool
PipelinePool(HTTPServerConfig config, org.languagetool.ResultCache cache, boolean internalServer)
-
-
Method Detail
-
getPipeline
Pipeline getPipeline(PipelinePool.PipelineSettings settings) throws java.lang.Exception
- Throws:
java.lang.Exception
-
returnPipeline
void returnPipeline(PipelinePool.PipelineSettings settings, Pipeline pipeline) throws java.util.concurrent.ExecutionException
- Throws:
java.util.concurrent.ExecutionException
-
createPipeline
Pipeline createPipeline(org.languagetool.Language lang, org.languagetool.Language motherTongue, TextChecker.QueryParams params, org.languagetool.GlobalConfig globalConfig, org.languagetool.UserConfig userConfig, java.util.List<java.lang.String> disabledRuleIds) throws java.lang.Exception
Create a JLanguageTool instance for a specific language, mother tongue, and rule configuration. Uses Pipeline wrapper to safely share objects- Parameters:
lang
- the language to be usedmotherTongue
- the user's mother tongue ornull
- Throws:
java.lang.Exception
-
configureFromRulesFile
private void configureFromRulesFile(org.languagetool.JLanguageTool langTool, org.languagetool.Language lang) throws java.io.IOException
- Throws:
java.io.IOException
-
configureFromGUI
private void configureFromGUI(org.languagetool.JLanguageTool langTool, org.languagetool.Language lang) throws java.io.IOException
- Throws:
java.io.IOException
-
-