This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/servicecomb-pack.git
commit f3c76ddbdc6c12acbb09a39e6a2b833f1902f0db Author: Lei Zhang <[email protected]> AuthorDate: Fri Jul 26 15:02:09 2019 +0800 SCB-1369 Default non-persistent transaction data --- .../pack/alpha/fsm/FsmAutoConfiguration.java | 35 +++++++--------------- .../fsm/repository/NoneTransactionRepository.java | 33 ++++++++++++++++++++ 2 files changed, 44 insertions(+), 24 deletions(-) diff --git a/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/FsmAutoConfiguration.java b/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/FsmAutoConfiguration.java index 28e517b..b9a144e 100644 --- a/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/FsmAutoConfiguration.java +++ b/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/FsmAutoConfiguration.java @@ -24,17 +24,14 @@ import akka.actor.ActorSystem; import com.typesafe.config.Config; import com.typesafe.config.ConfigFactory; import java.util.Map; -<<<<<<< HEAD - -import org.apache.servicecomb.pack.alpha.core.NodeStatus; -======= import javax.annotation.PostConstruct; ->>>>>>> SCB-1369 Save transaction data to Elasticsearch after SagaActor stopped +import org.apache.servicecomb.pack.alpha.core.NodeStatus; import org.apache.servicecomb.pack.alpha.fsm.channel.ActiveMQActorEventChannel; import org.apache.servicecomb.pack.alpha.fsm.channel.redis.MessagePublisher; import org.apache.servicecomb.pack.alpha.fsm.channel.redis.RedisMessagePublisher; import org.apache.servicecomb.pack.alpha.fsm.channel.redis.RedisMessageSubscriber; import org.apache.servicecomb.pack.alpha.fsm.metrics.MetricsService; +import org.apache.servicecomb.pack.alpha.fsm.repository.NoneTransactionRepository; import org.apache.servicecomb.pack.alpha.fsm.repository.elasticsearch.ElasticsearchTransactionRepository; import org.apache.servicecomb.pack.alpha.fsm.repository.TransactionRepository; import org.apache.servicecomb.pack.alpha.fsm.repository.channel.MemoryTransactionRepositoryChannel; @@ -46,7 +43,6 @@ import org.apache.servicecomb.pack.alpha.fsm.channel.MemoryActorEventChannel; import org.apache.servicecomb.pack.alpha.fsm.channel.RedisActorEventChannel; import org.apache.servicecomb.pack.alpha.fsm.sink.SagaActorEventSender; import org.apache.servicecomb.pack.alpha.fsm.spring.integration.akka.AkkaConfigPropertyAdapter; -import org.apache.servicecomb.pack.alpha.fsm.spring.integration.eventbus.EventSubscribeBeanPostProcessor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -58,7 +54,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; import org.springframework.core.env.ConfigurableEnvironment; -<<<<<<< HEAD import org.springframework.data.redis.connection.RedisConnection; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; @@ -68,15 +63,13 @@ import org.springframework.data.redis.listener.adapter.MessageListenerAdapter; import org.springframework.data.redis.serializer.GenericToStringSerializer; import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; -======= import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; ->>>>>>> SCB-1369 Save transaction data to Elasticsearch after SagaActor stopped @Configuration @ConditionalOnProperty(value = {"alpha.feature.akka.enabled"}) public class FsmAutoConfiguration { - @Value("${alpha.feature.akka.elasticsearch.memory.size:-1}") + @Value("${alpha.feature.akka.channel.memory.size:-1}") int memoryEventChannelMemorySize; @Value("${alpha.feature.akka.transaction.repository.elasticsearch.batchSize:100}") @@ -114,11 +107,6 @@ public class FsmAutoConfiguration { } @Bean - public EventSubscribeBeanPostProcessor eventSubscribeBeanPostProcessor() { - return new EventSubscribeBeanPostProcessor(); - } - - @Bean public MetricsService metricsService() { return new MetricsService(); } @@ -130,7 +118,6 @@ public class FsmAutoConfiguration { @Bean @ConditionalOnMissingBean(ActorEventChannel.class) - @ConditionalOnProperty(value = "alpha.feature.akka.channel.type", havingValue = "memory", matchIfMissing = true) public ActorEventChannel memoryEventChannel(ActorEventSink actorEventSink, MetricsService metricsService) { return new MemoryActorEventChannel(actorEventSink, memoryEventChannelMemorySize, @@ -153,7 +140,6 @@ public class FsmAutoConfiguration { @Bean @ConditionalOnProperty(value = "alpha.feature.akka.channel.type", havingValue = "redis") -<<<<<<< HEAD public ActorEventChannel redisEventChannel(ActorEventSink actorEventSink, MetricsService metricsService, @Lazy RedisMessagePublisher redisMessagePublisher){ return new RedisActorEventChannel(actorEventSink, metricsService, redisMessagePublisher); } @@ -211,15 +197,16 @@ public class FsmAutoConfiguration { } return new ChannelTopic(topic); } -======= - public ActorEventChannel redisEventChannel(ActorEventSink actorEventSink, - MetricsService metricsService) { - return new RedisActorEventChannel(actorEventSink, metricsService); ->>>>>>> SCB-1369 Save transaction data to Elasticsearch after SagaActor stopped } @Bean - @ConditionalOnProperty(value = "alpha.feature.akka.transcation.repository.type", havingValue = "elasticsearch", matchIfMissing = true) + @ConditionalOnMissingBean(TransactionRepository.class) + public TransactionRepository transcationRepository() { + return new NoneTransactionRepository(); + } + + @Bean + @ConditionalOnProperty(value = "alpha.feature.akka.transaction.repository.type", havingValue = "elasticsearch") public TransactionRepository transcationRepository(MetricsService metricsService, ElasticsearchTemplate template) { return new ElasticsearchTransactionRepository(template, metricsService, @@ -228,7 +215,7 @@ public class FsmAutoConfiguration { @Bean @ConditionalOnMissingBean(TransactionRepositoryChannel.class) - @ConditionalOnProperty(value = "alpha.feature.akka.transcation.repository.channel.type", havingValue = "memory", matchIfMissing = true) + @ConditionalOnProperty(value = "alpha.feature.akka.transaction.repository.channel.type", havingValue = "memory", matchIfMissing = true) TransactionRepositoryChannel memoryTransactionRepositoryChannel(TransactionRepository repository, MetricsService metricsService) { return new MemoryTransactionRepositoryChannel(repository, memoryTransactionRepositoryChannelSize, diff --git a/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/repository/NoneTransactionRepository.java b/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/repository/NoneTransactionRepository.java new file mode 100644 index 0000000..c0cc566 --- /dev/null +++ b/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/repository/NoneTransactionRepository.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + */ + +package org.apache.servicecomb.pack.alpha.fsm.repository; + +import java.lang.invoke.MethodHandles; +import org.apache.servicecomb.pack.alpha.fsm.repository.model.GloablTransaction; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class NoneTransactionRepository implements TransactionRepository { + + private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); + + @Override + public void send(GloablTransaction transaction) { + LOG.warn("Please configure alpha.feature.akka.transaction.repository.type=elasticsearch to use elasticsearch to persist transaction data."); + } +}
