fix #1802 replace with CommonPoolUtil

This commit is contained in:
Shinsuke Sugaya 2018-08-08 22:34:26 +09:00
parent b39cf0846f
commit aa050e49b2
6 changed files with 23 additions and 12 deletions

View file

@ -24,11 +24,11 @@ import java.io.Reader;
import java.io.Writer;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.concurrent.ForkJoinPool;
import javax.annotation.Resource;
import org.codelibs.core.beans.util.BeanUtil;
import org.codelibs.core.concurrent.CommonPoolUtil;
import org.codelibs.fess.Constants;
import org.codelibs.fess.app.pager.BadWordPager;
import org.codelibs.fess.app.service.BadWordService;
@ -286,7 +286,7 @@ public class AdminBadwordAction extends FessAdminAction {
public HtmlResponse upload(final UploadForm form) {
validate(form, messages -> {}, () -> asUploadHtml());
verifyToken(() -> asUploadHtml());
ForkJoinPool.commonPool().execute(() -> {
CommonPoolUtil.execute(() -> {
try (Reader reader = new BufferedReader(new InputStreamReader(form.badWordFile.getInputStream(), getCsvEncoding()))) {
badWordService.importCsv(reader);
suggestHelper.storeAllBadWords(false);

View file

@ -27,13 +27,13 @@ import java.io.Reader;
import java.io.Writer;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.concurrent.ForkJoinPool;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.annotation.Resource;
import org.codelibs.core.beans.util.BeanUtil;
import org.codelibs.core.concurrent.CommonPoolUtil;
import org.codelibs.core.lang.StringUtil;
import org.codelibs.fess.Constants;
import org.codelibs.fess.app.pager.ElevateWordPager;
@ -320,7 +320,7 @@ public class AdminElevatewordAction extends FessAdminAction {
public HtmlResponse upload(final UploadForm form) {
validate(form, messages -> {}, () -> asUploadHtml());
verifyToken(() -> asUploadHtml());
ForkJoinPool.commonPool().execute(() -> {
CommonPoolUtil.execute(() -> {
try (Reader reader = new BufferedReader(new InputStreamReader(form.elevateWordFile.getInputStream(), getCsvEncoding()))) {
elevateWordService.importCsv(reader);
suggestHelper.deleteAllElevateWord(false);

View file

@ -27,11 +27,11 @@ import java.io.Writer;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import java.util.concurrent.ForkJoinPool;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.codelibs.core.concurrent.CommonPoolUtil;
import org.codelibs.fess.app.pager.BadWordPager;
import org.codelibs.fess.app.service.BadWordService;
import org.codelibs.fess.app.web.CrudMode;
@ -146,7 +146,7 @@ public class ApiAdminBadwordAction extends FessApiAdminAction {
@Execute
public JsonResponse<ApiResult> post$upload(final UploadForm body) {
validateApi(body, messages -> {});
ForkJoinPool.commonPool().execute(() -> {
CommonPoolUtil.execute(() -> {
try (Reader reader = new BufferedReader(new InputStreamReader(body.badWordFile.getInputStream(), getCsvEncoding()))) {
badWordService.importCsv(reader);
suggestHelper.storeAllBadWords(false);

View file

@ -28,11 +28,11 @@ import java.io.Writer;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import java.util.concurrent.ForkJoinPool;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.codelibs.core.concurrent.CommonPoolUtil;
import org.codelibs.core.lang.StringUtil;
import org.codelibs.fess.Constants;
import org.codelibs.fess.app.pager.ElevateWordPager;
@ -158,7 +158,7 @@ public class ApiAdminElevatewordAction extends FessApiAdminAction {
@Execute
public JsonResponse<ApiResult> post$upload(final UploadForm body) {
validateApi(body, messages -> {});
ForkJoinPool.commonPool().execute(() -> {
CommonPoolUtil.execute(() -> {
try (Reader reader = new BufferedReader(new InputStreamReader(body.elevateWordFile.getInputStream(), getCsvEncoding()))) {
elevateWordService.importCsv(reader);
suggestHelper.storeAllElevateWords(false);

View file

@ -20,10 +20,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.concurrent.ForkJoinPool;
import javax.annotation.PostConstruct;
import org.codelibs.core.concurrent.CommonPoolUtil;
import org.codelibs.core.lang.StringUtil;
import org.codelibs.core.misc.Pair;
import org.codelibs.fess.Constants;
@ -57,7 +57,7 @@ public class KeyMatchHelper {
}
public void update() {
ForkJoinPool.commonPool().execute(() -> reload(reloadInterval));
CommonPoolUtil.execute(() -> reload(reloadInterval));
}
public List<KeyMatch> getAvailableKeyMatchList() {
@ -73,13 +73,22 @@ public class KeyMatchHelper {
getAvailableKeyMatchList().stream().forEach(
keyMatch -> {
final BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
if (logger.isDebugEnabled()) {
logger.debug("Loading KeyMatch Query: " + keyMatch.getQuery() + ", Size: " + keyMatch.getMaxSize());
}
getDocumentList(keyMatch).stream().map(doc -> {
if (logger.isDebugEnabled()) {
logger.debug("Loaded KeyMatch doc: " + doc);
}
return DocumentUtil.getValue(doc, fessConfig.getIndexFieldDocId(), String.class);
}).forEach(docId -> {
boolQuery.should(QueryBuilders.termQuery(fessConfig.getIndexFieldDocId(), docId));
});
if (boolQuery.hasClauses()) {
if (logger.isDebugEnabled()) {
logger.debug("Loaded KeyMatch Boost Query: " + boolQuery);
}
String virtualHost = keyMatch.getVirtualHost();
if (StringUtil.isBlank(virtualHost)) {
virtualHost = StringUtil.EMPTY;
@ -91,6 +100,8 @@ public class KeyMatchHelper {
}
queryMap.put(toLowerCase(keyMatch.getTerm()),
new Pair<>(boolQuery, ScoreFunctionBuilders.weightFactorFunction(keyMatch.getBoost())));
} else if (logger.isDebugEnabled()) {
logger.debug("No KeyMatch boost docs");
}
if (interval > 0) {

View file

@ -26,13 +26,13 @@ import java.util.Map;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.TimeUnit;
import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.codelibs.core.concurrent.CommonPoolUtil;
import org.codelibs.core.lang.StringUtil;
import org.codelibs.fess.Constants;
import org.codelibs.fess.app.service.SearchService;
@ -216,7 +216,7 @@ public class SearchLogHelper {
e.setUpdatedAt(now);
return e;
});
ForkJoinPool.commonPool().execute(() -> userInfoBhv.insertOrUpdate(userInfo));
CommonPoolUtil.execute(() -> userInfoBhv.insertOrUpdate(userInfo));
return userInfo;
}