Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
25588550
Shardingsphere
项目概览
apache
/
Shardingsphere
通知
56
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Shardingsphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
25588550
编写于
3月 23, 2018
作者:
ShardingSphere
提交者:
GitHub
3月 23, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #667 from oracle219/dev
fixes some code style and class name
上级
883996f5
d47a9360
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
63 addition
and
80 deletion
+63
-80
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/pom.xml
...action-parent/sharding-jdbc-transaction-async-job/pom.xml
+1
-1
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/java/io/shardingjdbc/transaction/config/AsyncSoftTransactionJobConfiguration.java
...nsaction/config/AsyncSoftTransactionJobConfiguration.java
+5
-5
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/java/io/shardingjdbc/transaction/job/BASETransactionJob.java
...a/io/shardingjdbc/transaction/job/BASETransactionJob.java
+12
-12
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/java/io/shardingjdbc/transaction/job/BASETransactionJobBootStrap.java
...dingjdbc/transaction/job/BASETransactionJobBootStrap.java
+6
-6
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/java/io/shardingjdbc/transaction/job/BASETransactionJobConfiguration.java
...jdbc/transaction/job/BASETransactionJobConfiguration.java
+7
-7
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/java/io/shardingjdbc/transaction/job/BASETransactionJobFactory.java
...ardingjdbc/transaction/job/BASETransactionJobFactory.java
+12
-12
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/resources/assemblies/assembly.xml
...tion-async-job/src/main/resources/assemblies/assembly.xml
+14
-5
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/resources/assemblies/package.xml
...ction-async-job/src/main/resources/assemblies/package.xml
+0
-26
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/resources/bin/start.sh
...dbc-transaction-async-job/src/main/resources/bin/start.sh
+1
-1
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/resources/conf/config.yaml
...transaction-async-job/src/main/resources/conf/config.yaml
+4
-4
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/resources/logback.xml
...jdbc-transaction-async-job/src/main/resources/logback.xml
+1
-1
未找到文件。
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/pom.xml
浏览文件 @
25588550
...
...
@@ -58,7 +58,7 @@
</configuration>
<executions>
<execution>
<id>
make-
assembly
</id>
<id>
assembly
</id>
<phase>
package
</phase>
<goals>
<goal>
single
</goal>
...
...
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/java/io/shardingjdbc/transaction/config/AsyncSoftTransactionJobConfiguration.java
浏览文件 @
25588550
...
...
@@ -29,27 +29,27 @@ import lombok.Setter;
@Getter
@Setter
public
final
class
AsyncSoftTransactionJobConfiguration
{
/**
* Job name.
*/
private
String
name
=
"AsyncSoftTransaction"
;
/**
* Cron expression for trigger job.
*/
private
String
cron
=
"0/5 * * * * ?"
;
/**
* Transaction logs fetch data count.
*/
private
int
transactionLogFetchDataCount
=
100
;
/**
* Max delivery try times.
*/
private
int
maxDeliveryTryTimes
=
3
;
/**
* Delay millis for asynchronized delivery.
*/
...
...
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/java/io/shardingjdbc/transaction/job/
Quartz
Job.java
→
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/java/io/shardingjdbc/transaction/job/
BASETransaction
Job.java
浏览文件 @
25588550
...
...
@@ -29,26 +29,26 @@ import java.sql.SQLException;
import
java.util.List
;
/**
*
Soft transaction job base quartz
.
*
B.A.S.E transaction job
.
*
* @author wangkai
*/
@Slf4j
public
final
class
Quartz
Job
implements
Job
{
public
final
class
BASETransaction
Job
implements
Job
{
@Override
public
void
execute
(
final
JobExecutionContext
jobExecutionContext
)
{
QuartzJobConfiguration
quartzJobConfiguration
=
(
QuartzJobConfiguration
)
jobExecutionContext
.
getJobDetail
().
getJobDataMap
().
get
(
"quartz
JobConfiguration"
);
BASETransactionJobConfiguration
baseTransactionJobConfiguration
=
(
BASETransactionJobConfiguration
)
jobExecutionContext
.
getJobDetail
().
getJobDataMap
().
get
(
"baseTransaction
JobConfiguration"
);
TransactionLogStorage
transactionLogStorage
=
(
TransactionLogStorage
)
jobExecutionContext
.
getJobDetail
().
getJobDataMap
().
get
(
"transactionLogStorage"
);
List
<
TransactionLog
>
transactionLogList
=
transactionLogStorage
.
findEligibleTransactionLogs
(
quartz
JobConfiguration
.
getJobConfig
().
getTransactionLogFetchDataCount
(),
quartzJobConfiguration
.
getJobConfig
().
getMaxDeliveryTryTimes
(),
quartz
JobConfiguration
.
getJobConfig
().
getMaxDeliveryTryDelayMillis
());
if
(
transactionLogList
!=
null
)
{
for
(
TransactionLog
data
:
transactionLogList
)
{
try
(
Connection
conn
=
quartzJobConfiguration
.
getTargetDataSource
(
data
.
getDataSource
()).
getConnection
())
{
transactionLogStorage
.
processData
(
conn
,
data
,
quartz
JobConfiguration
.
getJobConfig
().
getMaxDeliveryTryTimes
());
List
<
TransactionLog
>
transactionLogList
=
transactionLogStorage
.
findEligibleTransactionLogs
(
baseTransaction
JobConfiguration
.
getJobConfig
().
getTransactionLogFetchDataCount
(),
baseTransactionJobConfiguration
.
getJobConfig
().
getMaxDeliveryTryTimes
(),
baseTransaction
JobConfiguration
.
getJobConfig
().
getMaxDeliveryTryDelayMillis
());
if
(
null
!=
transactionLogList
)
{
for
(
TransactionLog
each
:
transactionLogList
)
{
try
(
Connection
conn
=
baseTransactionJobConfiguration
.
getTargetDataSource
(
each
.
getDataSource
()).
getConnection
())
{
transactionLogStorage
.
processData
(
conn
,
each
,
baseTransaction
JobConfiguration
.
getJobConfig
().
getMaxDeliveryTryTimes
());
}
catch
(
final
SQLException
|
TransactionCompensationException
ex
)
{
log
.
error
(
String
.
format
(
"Async delivery times %s error, max try times is %s, exception is %s"
,
data
.
getAsyncDeliveryTryTimes
()
+
1
,
quartz
JobConfiguration
.
getJobConfig
().
getMaxDeliveryTryTimes
(),
ex
.
getMessage
()));
log
.
error
(
String
.
format
(
"Async delivery times %s error, max try times is %s, exception is %s"
,
each
.
getAsyncDeliveryTryTimes
()
+
1
,
baseTransaction
JobConfiguration
.
getJobConfig
().
getMaxDeliveryTryTimes
(),
ex
.
getMessage
()));
}
}
}
...
...
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/java/io/shardingjdbc/transaction/job/
QuartzJobMain
.java
→
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/java/io/shardingjdbc/transaction/job/
BASETransactionJobBootStrap
.java
浏览文件 @
25588550
...
...
@@ -23,14 +23,14 @@ import org.yaml.snakeyaml.constructor.Constructor;
import
java.io.InputStreamReader
;
/**
*
Soft transaction base quartz
job main entrance.
*
B.A.S.E transaction
job main entrance.
*
* @author zhangliang
* @author caohao
* @author wangkai
*/
public
final
class
QuartzJobMain
{
public
final
class
BASETransactionJobBootStrap
{
/**
* Main entrance.
*
...
...
@@ -40,9 +40,9 @@ public final class QuartzJobMain {
// CHECKSTYLE:OFF
public
static
void
main
(
final
String
[]
args
)
throws
Exception
{
// CHECKSTYLE:ON
try
(
InputStreamReader
inputStreamReader
=
new
InputStreamReader
(
QuartzJobMain
.
class
.
getResourceAsStream
(
"/conf/config.yaml"
),
"UTF-8"
))
{
QuartzJobConfiguration
config
=
new
Yaml
(
new
Constructor
(
QuartzJobConfiguration
.
class
)).
loadAs
(
inputStreamReader
,
Quartz
JobConfiguration
.
class
);
new
Quartz
JobFactory
(
config
).
start
();
try
(
InputStreamReader
inputStreamReader
=
new
InputStreamReader
(
BASETransactionJobBootStrap
.
class
.
getResourceAsStream
(
"/conf/config.yaml"
),
"UTF-8"
))
{
BASETransactionJobConfiguration
config
=
new
Yaml
(
new
Constructor
(
BASETransactionJobConfiguration
.
class
)).
loadAs
(
inputStreamReader
,
BASETransaction
JobConfiguration
.
class
);
new
BASETransaction
JobFactory
(
config
).
start
();
}
}
}
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/java/io/shardingjdbc/transaction/job/
Quartz
JobConfiguration.java
→
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/java/io/shardingjdbc/transaction/job/
BASETransaction
JobConfiguration.java
浏览文件 @
25588550
...
...
@@ -24,30 +24,30 @@ import javax.sql.DataSource;
import
java.util.Map
;
/**
*
Soft transaction base quartz
job configuration.
*
B.A.S.E transaction
job configuration.
*
* @author caohao
* @author wangkai
*/
@Getter
@Setter
public
final
class
Quartz
JobConfiguration
{
public
final
class
BASETransaction
JobConfiguration
{
/**
* Data source for transaction manager.
*/
private
Map
<
String
,
DataSource
>
targetDataSource
;
/**
* Transaction log data source.
*/
private
Map
<
String
,
DataSource
>
transactionLogDataSource
;
/**
* Asynchronized B.A.S.E transaction job configuration.
*/
private
io
.
shardingjdbc
.
transaction
.
config
.
AsyncSoftTransactionJobConfiguration
jobConfig
;
/**
* Get one data source by name.
*
...
...
@@ -57,7 +57,7 @@ public final class QuartzJobConfiguration {
public
DataSource
getTargetDataSource
(
final
String
dataSourceName
)
{
return
targetDataSource
.
get
(
dataSourceName
);
}
/**
* Get next one transaction log data sorce.
*
...
...
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/java/io/shardingjdbc/transaction/job/
Quartz
JobFactory.java
→
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/java/io/shardingjdbc/transaction/job/
BASETransaction
JobFactory.java
浏览文件 @
25588550
...
...
@@ -31,15 +31,15 @@ import org.quartz.CronScheduleBuilder;
import
org.quartz.impl.StdSchedulerFactory
;
/**
*
Soft transaction base quartz
job factory.
*
B.A.S.E transaction
job factory.
*
* @author wangkai
*/
@RequiredArgsConstructor
public
final
class
Quartz
JobFactory
{
private
final
QuartzJobConfiguration
quartz
JobConfiguration
;
public
final
class
BASETransaction
JobFactory
{
private
final
BASETransactionJobConfiguration
baseTransaction
JobConfiguration
;
/**
* start job.
*
...
...
@@ -51,18 +51,18 @@ public final class QuartzJobFactory {
scheduler
.
scheduleJob
(
buildJobDetail
(),
buildTrigger
());
scheduler
.
start
();
}
private
JobDetail
buildJobDetail
()
{
JobDetail
jobDetail
=
JobBuilder
.
newJob
(
QuartzJob
.
class
).
withIdentity
(
quartz
JobConfiguration
.
getJobConfig
().
getName
()
+
"-Job"
).
build
();
jobDetail
.
getJobDataMap
().
put
(
"
quartzJobConfiguration"
,
quartz
JobConfiguration
);
JobDetail
jobDetail
=
JobBuilder
.
newJob
(
BASETransactionJob
.
class
).
withIdentity
(
baseTransaction
JobConfiguration
.
getJobConfig
().
getName
()
+
"-Job"
).
build
();
jobDetail
.
getJobDataMap
().
put
(
"
baseTransactionJobConfiguration"
,
baseTransaction
JobConfiguration
);
jobDetail
.
getJobDataMap
().
put
(
"transactionLogStorage"
,
TransactionLogStorageFactory
.
createTransactionLogStorage
(
new
RdbTransactionLogDataSource
(
quartz
JobConfiguration
.
getDefaultTransactionLogDataSource
())));
TransactionLogStorageFactory
.
createTransactionLogStorage
(
new
RdbTransactionLogDataSource
(
baseTransaction
JobConfiguration
.
getDefaultTransactionLogDataSource
())));
return
jobDetail
;
}
private
Trigger
buildTrigger
()
{
return
TriggerBuilder
.
newTrigger
()
.
withIdentity
(
quartz
JobConfiguration
.
getJobConfig
().
getName
()
+
"-Trigger"
)
.
withSchedule
(
CronScheduleBuilder
.
cronSchedule
(
quartz
JobConfiguration
.
getJobConfig
().
getCron
())).
build
();
.
withIdentity
(
baseTransaction
JobConfiguration
.
getJobConfig
().
getName
()
+
"-Trigger"
)
.
withSchedule
(
CronScheduleBuilder
.
cronSchedule
(
baseTransaction
JobConfiguration
.
getJobConfig
().
getCron
())).
build
();
}
}
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/resources/assemblies/assembly.xml
浏览文件 @
25588550
<assembly
xmlns=
"http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2
http://maven.apache.org/xsd/assembly-1.1.2.xsd"
>
<assembly
xmlns=
"http://maven.apache.org/ASSEMBLY/2.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd"
>
<id>
assembly
</id>
<formats>
<format>
tar
</format>
<format>
tar
.gz
</format>
</formats>
<includeBaseDirectory>
true
</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>
src/main/resources/bin
</directory>
...
...
@@ -18,10 +17,20 @@
<outputDirectory>
conf
</outputDirectory>
<fileMode>
0644
</fileMode>
</fileSet>
<fileSet>
<directory>
src/main/resources
</directory>
<includes>
<include>
logback.xml
</include>
</includes>
<outputDirectory>
conf
</outputDirectory>
<fileMode>
0644
</fileMode>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>
lib
</outputDirectory>
<fileMode>
0644
</fileMode>
</dependencySet>
</dependencySets>
</assembly>
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/resources/assemblies/package.xml
已删除
100644 → 0
浏览文件 @
883996f5
<assembly
xmlns=
"http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2
http://maven.apache.org/xsd/assembly-1.1.2.xsd"
>
<id>
package
</id>
<formats>
<format>
zip
</format>
</formats>
<includeBaseDirectory>
true
</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>
src/main/resources/META-INF
</directory>
<outputDirectory>
META-INF
</outputDirectory>
</fileSet>
<fileSet>
<directory>
src/main/resources/bin
</directory>
<outputDirectory>
/
</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>
lib
</outputDirectory>
<scope>
runtime
</scope>
</dependencySet>
</dependencySets>
</assembly>
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/resources/bin/start.sh
浏览文件 @
25588550
...
...
@@ -18,7 +18,7 @@ fi
CONF_DIR
=
$DEPLOY_DIR
/conf/
*
LIB_DIR
=
$DEPLOY_DIR
/lib/
*
CONTAINER_MAIN
=
io.shardingjdbc.transaction.job.
QuartzJobMain
CONTAINER_MAIN
=
io.shardingjdbc.transaction.job.
BASETransactionJobBootStrap
nohup
java
-classpath
$CONF_DIR
:
$LIB_DIR
:.
$CONTAINER_MAIN
>
/dev/null 2>&1 &
CONSOLE_TXT
=
"Started the
$SERVER_NAME
"
...
...
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/resources/conf/config.yaml
浏览文件 @
25588550
...
...
@@ -4,12 +4,12 @@ targetDataSource:
driverClassName
:
com.mysql.jdbc.Driver
url
:
jdbc:mysql://localhost:3306/ds_trans_0
username
:
root
password
:
123456
password
:
ds_trans_1
:
!!org.apache.commons.dbcp2.BasicDataSource
driverClassName
:
com.mysql.jdbc.Driver
url
:
jdbc:mysql://localhost:3306/ds_trans_1
username
:
root
password
:
123456
password
:
#事务日志的数据源.
transactionLogDataSource
:
...
...
@@ -17,11 +17,11 @@ transactionLogDataSource:
driverClassName
:
com.mysql.jdbc.Driver
url
:
jdbc:mysql://localhost:3306/trans_log
username
:
root
password
:
123456
password
:
jobConfig
:
#作业名称
name
:
AsyncSoft
Transaction
name
:
BASE
Transaction
#触发作业的cron表达式
cron
:
0/5 * * * * ?
...
...
sharding-jdbc-transaction-parent/sharding-jdbc-transaction-async-job/src/main/resources/logback.xml
浏览文件 @
25588550
...
...
@@ -36,7 +36,7 @@
</encoder>
</appender>
<logger
name=
"io.shardingjdbc.transaction.job.
Quartz
Job"
level=
"ERROR"
additivity=
"false"
>
<logger
name=
"io.shardingjdbc.transaction.job.
BASETransaction
Job"
level=
"ERROR"
additivity=
"false"
>
<appender-ref
ref=
"APP_FILE"
/>
</logger>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录