Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
titan
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
改变
titan
Commits
9bf0eba3
Commit
9bf0eba3
authored
Feb 07, 2021
by
jscat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
titan data;
1. eureka 服务注册支持
parent
db39106e
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
162 行增加
和
1 行删除
+162
-1
titan_cloud/titan-data-sync/titan_data_basic.py
+12
-1
titan_cloud/titan-eureka/api/pom.xml
+7
-0
titan_cloud/titan-eureka/api/src/main/java/cn/com/titan/eureka/api/web/common/EurekaStateChangeListener.java
+89
-0
titan_cloud/titan-eureka/api/src/test/java/cn/com/titan/eureka/api/mailTest.java
+54
-0
没有找到文件。
titan_cloud/titan-data-sync/titan_data_basic.py
查看文件 @
9bf0eba3
...
@@ -9,7 +9,7 @@ from datetime import datetime, timedelta
...
@@ -9,7 +9,7 @@ from datetime import datetime, timedelta
from
titan_data_function
import
Data
from
titan_data_function
import
Data
from
titan_table_structure
import
Base
from
titan_table_structure
import
Base
import
titan_data_settings
as
settings
import
titan_data_settings
as
settings
import
py_eureka_client.eureka_client
as
eureka_client
class
Demo
:
class
Demo
:
...
@@ -64,8 +64,19 @@ class Demo:
...
@@ -64,8 +64,19 @@ class Demo:
# 启动调度器,后台监控定时任务,到点执行
# 启动调度器,后台监控定时任务,到点执行
scheduler
.
start
()
scheduler
.
start
()
def
setEureka
(
self
):
server_host
=
"localhost"
server_port
=
8193
eureka_client
.
init
(
eureka_server
=
"http://admin:pass@localhost:48761/eureka"
,
app_name
=
"titan-data-sync"
,
# 当前组件的主机名,可选参数,如果不填写会自动计算一个,如果服务和 eureka 服务器部署在同一台机器,请必须填写,否则会计算出 127.0.0.1
instance_host
=
server_host
,
instance_port
=
server_port
,
# 调用其他服务时的高可用策略,可选,默认为随机
ha_strategy
=
eureka_client
.
HA_STRATEGY_RANDOM
)
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
print
(
"start"
)
print
(
"start"
)
demo
=
Demo
()
demo
=
Demo
()
demo
.
setEureka
()
demo
.
start
()
demo
.
start
()
titan_cloud/titan-eureka/api/pom.xml
查看文件 @
9bf0eba3
...
@@ -213,6 +213,13 @@
...
@@ -213,6 +213,13 @@
<version>
3.3.3
</version>
<version>
3.3.3
</version>
</dependency>
</dependency>
<!-- JavaMail-->
<dependency>
<groupId>
javax.mail
</groupId>
<artifactId>
mail
</artifactId>
<version>
1.4.7
</version>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
...
titan_cloud/titan-eureka/api/src/main/java/cn/com/titan/eureka/api/web/common/EurekaStateChangeListener.java
0 → 100644
查看文件 @
9bf0eba3
package
cn
.
com
.
titan
.
eureka
.
api
.
web
.
common
;
import
com.netflix.appinfo.InstanceInfo
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.cloud.netflix.eureka.server.event.*
;
import
org.springframework.context.event.EventListener
;
import
org.springframework.stereotype.Component
;
import
javax.mail.Address
;
import
javax.mail.Message
;
import
javax.mail.Session
;
import
javax.mail.Transport
;
import
javax.mail.internet.InternetAddress
;
import
javax.mail.internet.MimeMessage
;
import
java.util.Properties
;
@Component
public
class
EurekaStateChangeListener
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
EurekaStateChangeListener
.
class
);
@EventListener
public
void
listen
(
EurekaInstanceCanceledEvent
eurekaInstanceCanceledEvent
)
{
String
appName
=
eurekaInstanceCanceledEvent
.
getAppName
();
String
serverId
=
eurekaInstanceCanceledEvent
.
getServerId
();
log
.
info
(
"module canceled server_id : "
+
serverId
);
sendCanceledWarnMail
(
appName
,
serverId
);
}
@EventListener
public
void
listen
(
EurekaInstanceRegisteredEvent
event
)
{
InstanceInfo
instanceInfo
=
event
.
getInstanceInfo
();
log
.
info
(
"module registered instanceInfo : "
+
instanceInfo
);
}
@EventListener
public
void
listen
(
EurekaInstanceRenewedEvent
event
)
{
String
serverId
=
event
.
getServerId
();
log
.
info
(
"module renewed server_id : "
+
serverId
);
}
@EventListener
public
void
listen
(
EurekaRegistryAvailableEvent
event
)
{
String
eventStr
=
event
.
toString
();
log
.
info
(
"module available is "
+
eventStr
);
}
@EventListener
public
void
listen
(
EurekaServerStartedEvent
event
)
{
String
startStr
=
event
.
toString
();
log
.
info
(
"module start is "
+
startStr
);
}
public
void
sendCanceledWarnMail
(
String
appName
,
String
serverId
)
{
Properties
props
=
new
Properties
();
// 发送服务器需要身份验证
props
.
setProperty
(
"mail.smtp.auth"
,
"true"
);
// 设置邮件服务器主机名
props
.
setProperty
(
"mail.host"
,
"smtp.163.com"
);
// 发送邮件协议名称
props
.
setProperty
(
"mail.transport.protocol"
,
"smtp"
);
try
{
// 设置环境信息
Session
session
=
Session
.
getInstance
(
props
);
// 创建邮件对象
Message
msg
=
new
MimeMessage
(
session
);
msg
.
setSubject
(
"Eureka Server status check"
);
// 设置邮件内容
msg
.
setText
(
"服务异常关闭提醒 appName : "
+
appName
+
" , serverId : "
+
serverId
);
// 设置发件人(账号)
msg
.
setFrom
(
new
InternetAddress
(
"titanplus2021@163.com"
));
Transport
transport
=
session
.
getTransport
();
// 连接邮件服务器(账号,授权码)
transport
.
connect
(
"titanplus2021@163.com"
,
"DWSBWWENHZPEUZKB"
);
// 发送邮件
transport
.
sendMessage
(
msg
,
new
Address
[]
{
new
InternetAddress
(
"jesu@digjob.net"
)});
// 关闭连接
transport
.
close
();
}
catch
(
Exception
e
)
{
log
.
error
(
"send module canceled message error : "
,
e
);
}
}
}
\ No newline at end of file
titan_cloud/titan-eureka/api/src/test/java/cn/com/titan/eureka/api/mailTest.java
0 → 100644
查看文件 @
9bf0eba3
package
cn
.
com
.
titan
.
eureka
.
api
;
import
cn.com.titan.eureka.api.web.common.EurekaStateChangeListener
;
import
org.junit.Test
;
import
javax.mail.Address
;
import
javax.mail.Message
;
import
javax.mail.Session
;
import
javax.mail.Transport
;
import
javax.mail.internet.InternetAddress
;
import
javax.mail.internet.MimeMessage
;
import
java.util.Properties
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
public
class
mailTest
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
mailTest
.
class
);
@Test
public
void
mailTest
()
throws
Exception
{
Properties
props
=
new
Properties
();
// 发送服务器需要身份验证
props
.
setProperty
(
"mail.smtp.auth"
,
"true"
);
// 设置邮件服务器主机名
props
.
setProperty
(
"mail.host"
,
"smtp.163.com"
);
// 发送邮件协议名称
props
.
setProperty
(
"mail.transport.protocol"
,
"smtp"
);
try
{
// 设置环境信息
Session
session
=
Session
.
getInstance
(
props
);
// 创建邮件对象
Message
msg
=
new
MimeMessage
(
session
);
msg
.
setSubject
(
"Eureka Server status check"
);
// 设置邮件内容
msg
.
setText
(
"服务异常关闭提醒 appName : "
+
" , serverId : "
);
// 设置发件人(账号)
msg
.
setFrom
(
new
InternetAddress
(
"titanplus2021@163.com"
));
Transport
transport
=
session
.
getTransport
();
// 连接邮件服务器(账号,授权码)
transport
.
connect
(
"titanplus2021@163.com"
,
"DWSBWWENHZPEUZKB"
);
// 发送邮件
transport
.
sendMessage
(
msg
,
new
Address
[]
{
new
InternetAddress
(
"jesu@digjob.net"
)});
// 关闭连接
transport
.
close
();
}
catch
(
Exception
e
)
{
log
.
error
(
"send module canceled message error : "
,
e
);
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论