Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
myguguang
elasticsearch-analysis-ik
提交
5190dba1
E
elasticsearch-analysis-ik
项目概览
myguguang
/
elasticsearch-analysis-ik
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
elasticsearch-analysis-ik
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5190dba1
编写于
6月 28, 2018
作者:
R
Rueian
提交者:
weixin_43283383
6月 28, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Grant java.net.SocketPermission (#565)
上级
83fa2ff8
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
33 addition
and
2 deletion
+33
-2
src/main/assemblies/plugin.xml
src/main/assemblies/plugin.xml
+5
-0
src/main/java/org/wltea/analyzer/dic/Dictionary.java
src/main/java/org/wltea/analyzer/dic/Dictionary.java
+11
-1
src/main/java/org/wltea/analyzer/dic/Monitor.java
src/main/java/org/wltea/analyzer/dic/Monitor.java
+13
-1
src/main/resources/plugin-security.policy
src/main/resources/plugin-security.policy
+4
-0
未找到文件。
src/main/assemblies/plugin.xml
浏览文件 @
5190dba1
...
...
@@ -18,6 +18,11 @@
<outputDirectory/>
<filtered>
true
</filtered>
</file>
<file>
<source>
${project.basedir}/src/main/resources/plugin-security.policy
</source>
<outputDirectory/>
<filtered>
true
</filtered>
</file>
</files>
<dependencySets>
<dependencySet>
...
...
src/main/java/org/wltea/analyzer/dic/Dictionary.java
浏览文件 @
5190dba1
...
...
@@ -36,6 +36,8 @@ import java.nio.file.Files;
import
java.nio.file.FileVisitResult
;
import
java.nio.file.Path
;
import
java.nio.file.SimpleFileVisitor
;
import
java.security.AccessController
;
import
java.security.PrivilegedAction
;
import
java.util.*
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.ScheduledExecutorService
;
...
...
@@ -47,6 +49,7 @@ import org.apache.http.client.methods.CloseableHttpResponse;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.HttpClients
;
import
org.elasticsearch.SpecialPermission
;
import
org.elasticsearch.common.io.PathUtils
;
import
org.elasticsearch.common.logging.ESLoggerFactory
;
import
org.elasticsearch.plugin.analysis.ik.AnalysisIkPlugin
;
...
...
@@ -439,10 +442,17 @@ public class Dictionary {
}
private
static
List
<
String
>
getRemoteWords
(
String
location
)
{
SpecialPermission
.
check
();
return
AccessController
.
doPrivileged
((
PrivilegedAction
<
List
<
String
>>)
()
->
{
return
getRemoteWordsUnprivileged
(
location
);
});
}
/**
* 从远程服务器上下载自定义词条
*/
private
static
List
<
String
>
getRemoteWords
(
String
location
)
{
private
static
List
<
String
>
getRemoteWords
Unprivileged
(
String
location
)
{
List
<
String
>
buffer
=
new
ArrayList
<
String
>();
RequestConfig
rc
=
RequestConfig
.
custom
().
setConnectionRequestTimeout
(
10
*
1000
).
setConnectTimeout
(
10
*
1000
)
...
...
src/main/java/org/wltea/analyzer/dic/Monitor.java
浏览文件 @
5190dba1
package
org.wltea.analyzer.dic
;
import
java.io.IOException
;
import
java.security.AccessController
;
import
java.security.PrivilegedAction
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.client.methods.CloseableHttpResponse
;
...
...
@@ -8,6 +10,7 @@ import org.apache.http.client.methods.HttpHead;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.logging.log4j.Logger
;
import
org.elasticsearch.SpecialPermission
;
import
org.elasticsearch.common.logging.ESLoggerFactory
;
public
class
Monitor
implements
Runnable
{
...
...
@@ -34,6 +37,15 @@ public class Monitor implements Runnable {
this
.
last_modified
=
null
;
this
.
eTags
=
null
;
}
public
void
run
()
{
SpecialPermission
.
check
();
AccessController
.
doPrivileged
((
PrivilegedAction
<
Void
>)
()
->
{
this
.
runUnprivileged
();
return
null
;
});
}
/**
* 监控流程:
* ①向词库服务器发送Head请求
...
...
@@ -43,7 +55,7 @@ public class Monitor implements Runnable {
* ⑤休眠1min,返回第①步
*/
public
void
run
()
{
public
void
run
Unprivileged
()
{
//超时设置
RequestConfig
rc
=
RequestConfig
.
custom
().
setConnectionRequestTimeout
(
10
*
1000
)
...
...
src/main/resources/plugin-security.policy
0 → 100644
浏览文件 @
5190dba1
grant {
// needed because of the hot reload functionality
permission java.net.SocketPermission "*", "connect,resolve";
};
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录