提交 eb761891 编写于 作者: C cherrylzhao

for #1363 move sharding-transaction-reg-api to sharding-transaction-core.

上级 7147ae3c
......@@ -19,7 +19,7 @@
</dependency>
<dependency>
<groupId>io.shardingsphere</groupId>
<artifactId>sharding-transaction-reg-api</artifactId>
<artifactId>sharding-transaction-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
......
/*
* Copyright 2016-2018 shardingsphere.io.
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* </p>
*/
package io.shardingsphere.transaction.spi.reg;
import io.shardingsphere.core.constant.transaction.TransactionType;
import io.shardingsphere.transaction.spi.ShardingTransactionHandler;
import io.shardingsphere.transaction.internal.context.ShardingTransactionContext;
import java.util.HashMap;
import java.util.Map;
/**
* Fixed base sharding transaction handler.
*
* @author zhaojun
*/
public final class FixedBaseShardingTransactionHandler implements ShardingTransactionHandler {
private static final Map<String, Object> INVOKES = new HashMap<>();
/**
* Get invoke map.
*
* @return map
*/
public static Map<String, Object> getInvokes() {
return INVOKES;
}
@Override
public void doInTransaction(final ShardingTransactionContext context) {
switch (context.getOperationType()) {
case BEGIN:
INVOKES.put("begin", context);
return;
case COMMIT:
INVOKES.put("commit", context);
return;
case ROLLBACK:
INVOKES.put("rollback", context);
return;
default:
}
}
@Override
public TransactionType getTransactionType() {
return TransactionType.BASE;
}
}
/*
* Copyright 2016-2018 shardingsphere.io.
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* </p>
*/
package io.shardingsphere.transaction.spi.reg;
import com.zaxxer.hikari.HikariDataSource;
import io.shardingsphere.core.constant.DatabaseType;
import io.shardingsphere.transaction.spi.xa.DataSourceMapConverter;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public final class FixedDataSourceMapConverter implements DataSourceMapConverter {
@Override
public Map<String, DataSource> convert(final Map<String, DataSource> dataSourceMap, final DatabaseType databaseType) {
Map<String, DataSource> result = new HashMap<>(dataSourceMap.size(), 1);
for (Entry<String, DataSource> entry : dataSourceMap.entrySet()) {
HikariDataSource dataSource = new HikariDataSource();
dataSource.setJdbcUrl("jdbc:h2:mem:ds_0;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL");
dataSource.setDriverClassName(org.h2.Driver.class.getName());
dataSource.setUsername("sa");
result.put(entry.getKey(), dataSource);
}
return result;
}
}
/*
* Copyright 2016-2018 shardingsphere.io.
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* </p>
*/
package io.shardingsphere.transaction.spi.reg;
import io.shardingsphere.core.constant.transaction.TransactionType;
import io.shardingsphere.transaction.spi.ShardingTransactionHandler;
import io.shardingsphere.transaction.internal.context.ShardingTransactionContext;
import java.util.HashMap;
import java.util.Map;
/**
* Fixed base sharding transaction handler.
*
* @author zhaojun
*/
public final class FixedXAShardingTransactionHandler implements ShardingTransactionHandler {
private static final Map<String, Object> INVOKES = new HashMap<>();
/**
* Get invoke map.
*
* @return map
*/
public static Map<String, Object> getInvokes() {
return INVOKES;
}
@Override
public void doInTransaction(final ShardingTransactionContext context) {
switch (context.getOperationType()) {
case BEGIN:
INVOKES.put("begin", context);
return;
case COMMIT:
INVOKES.put("commit", context);
return;
case ROLLBACK:
INVOKES.put("rollback", context);
return;
default:
}
}
@Override
public TransactionType getTransactionType() {
return TransactionType.XA;
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册