Skip to content

Commit

Permalink
Refactored processor + Removed spring cloud sleuth from all services
Browse files Browse the repository at this point in the history
  • Loading branch information
bygui86 committed Jul 23, 2018
1 parent c97c3dc commit 6668540
Show file tree
Hide file tree
Showing 21 changed files with 96 additions and 121 deletions.
24 changes: 3 additions & 21 deletions processor/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -66,30 +66,12 @@
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-web</artifactId>-->
<!--<exclusions>-->
<!--<exclusion>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-tomcat</artifactId>-->
<!--</exclusion>-->
<!--</exclusions>-->
<!--<groupId>org.springframework.cloud</groupId>-->
<!--<artifactId>spring-cloud-stream-binder-rabbit</artifactId>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-jetty</artifactId>-->
<!--</dependency>-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-kafka</artifactId>
<artifactId>spring-cloud-stream-binder-kafka</artifactId>
</dependency>

<!-- logging -->
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.rabbit.springcloudstream.processor.configs;

import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.messaging.Processor;
import org.springframework.context.annotation.Configuration;


@Slf4j
@Configuration("processorStreamConfig")
@EnableBinding(Processor.class)
public class ProcessorStreamConfig {

// no-op
}
Original file line number Diff line number Diff line change
@@ -1,30 +1,31 @@
package com.rabbit.springcloudstream.processor.configs;
package com.rabbit.springcloudstream.processor.services;

import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.messaging.Processor;
import org.springframework.context.annotation.Configuration;
import org.springframework.integration.annotation.Transformer;
import org.springframework.stereotype.Service;

import java.text.DateFormat;
import java.text.SimpleDateFormat;


@Slf4j
@Configuration("processorConfig")
@EnableBinding(Processor.class)
public class ProcessorConfig {
@Service("processorTransformerService")
public class ProcessorTransformerService {

int totalMsg = 1;

@Transformer(
inputChannel = Processor.INPUT,
outputChannel = Processor.OUTPUT
)
public Object transform(final Long timestamp) {

log.info("Transform: {}", timestamp);

final DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd hh:mm:yy");
return dateFormat.format(timestamp);
final String stringTimestamp = dateFormat.format(timestamp);
log.info("Transform message {} from {} to {}", totalMsg, timestamp, stringTimestamp);
totalMsg++;
return stringTimestamp;
}

}
8 changes: 8 additions & 0 deletions processor/src/main/resources/application-kafka.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
### Spring KAFKA
spring.kafka.bootstrap-servers = localhost:9092
spring.kafka.client-id = ${spring.application.name}
spring.kafka.consumer.bootstrap-servers = ${spring.kafka.bootstrap-servers}
spring.kafka.consumer.client-id = ${spring.kafka.client-id}

### Spring Cloud STREAM - KAFKA
spring.cloud.stream.kafka.binder.brokers = localhost:9092
9 changes: 9 additions & 0 deletions processor/src/main/resources/application-rabbitmq.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
### Spring RABBITMQ
spring.rabbitmq.host = localhost
spring.rabbitmq.port = 5672
spring.rabbitmq.username = rabbit
spring.rabbitmq.password = rabbit

### Spring Cloud STREAM - RABBITMQ
spring.cloud.stream.rabbit.binder.nodes = localhost:5672
spring.cloud.stream.rabbit.binder.compression-level = 1
17 changes: 8 additions & 9 deletions processor/src/main/resources/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ logging.level.com.rabbit.springcloudstream.processor = debug

### Spring
spring.output.ansi.enabled = always
spring.application.name = spring-cloud-stream-processor
# broker: kafka | rabbitmq
spring.profiles.active = kafka

### Spring ACTUATOR
## Endpoints
management.endpoints.jmx.exposure.include = *
management.endpoints.web.exposure.include = *

# Enable custom endpoints disabled by default
management.endpoint.features.enabled = true

## Health
# values: never (default) | always | when_authorized
management.endpoint.health.show-details = always
Expand All @@ -20,9 +20,8 @@ management.endpoint.health.show-details = always
# git
management.info.git.mode = full

### Spring CLOUD SLEUTH + ZIPKIN
spring.sleuth.sampler.probability = 1.0
spring.sleuth.web.skipPattern = (^cleanup.*|.+favicon.*)

### Spring Cloud STREAM RABBIT
# ?
### Spring Cloud STREAM
spring.cloud.stream.bindings.input.destination = timestamp-temp
spring.cloud.stream.bindings.input.group = timestampGroup
spring.cloud.stream.bindings.output.destination = timestamp
spring.cloud.stream.bindings.output.group = timestampGroup
2 changes: 0 additions & 2 deletions processor/src/main/resources/bootstrap.properties

This file was deleted.

4 changes: 0 additions & 4 deletions sink/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,6 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<!--<dependency>-->
<!--<groupId>org.springframework.cloud</groupId>-->
<!--<artifactId>spring-cloud-stream-binder-rabbit</artifactId>-->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,14 @@

import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.annotation.StreamListener;
import org.springframework.cloud.stream.messaging.Sink;
import org.springframework.context.annotation.Configuration;


@Slf4j
@Configuration("sinkConfig")
@Configuration("sinkStreamConfig")
@EnableBinding(Sink.class)
public class SinkConfig {

@StreamListener(Sink.INPUT)
public void loggerSink(final String date) {

log.info("Received: {}", date);
}
public class SinkStreamConfig {

// no-op
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.rabbit.springcloudstream.sink.services;

import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.stream.annotation.StreamListener;
import org.springframework.cloud.stream.messaging.Sink;
import org.springframework.stereotype.Service;


@Slf4j
@Service("sinkListenerService")
public class SinkListenerService {

int totalMsg = 1;

@StreamListener(Sink.INPUT)
public void loggerSink(final String date) {

log.info("Received message {}: {}", totalMsg, date);
totalMsg++;
}

}
14 changes: 5 additions & 9 deletions sink/src/main/resources/application-kafka.properties
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
### Spring Cloud SLEUTH - KAFKA
spring.sleuth.messaging.kafka.enabled = true
spring.sleuth.messaging.kakfa.remote-service-name = kafka

### Spring KAFKA
spring.kafka.bootstrap-servers = localhost:9092
spring.kafka.client-id = ${spring.application.name}
spring.kafka.consumer.bootstrap-servers = ${spring.kafka.bootstrap-servers}
spring.kafka.consumer.client-id = ${spring.kafka.client-id}
spring.kafka.bootstrap-servers = localhost:9092
spring.kafka.client-id = ${spring.application.name}
spring.kafka.consumer.bootstrap-servers = ${spring.kafka.bootstrap-servers}
spring.kafka.consumer.client-id = ${spring.kafka.client-id}

### Spring Cloud STREAM - KAFKA
spring.cloud.stream.kafka.binder.brokers = localhost:9092
spring.cloud.stream.kafka.binder.brokers = localhost:9092
4 changes: 0 additions & 4 deletions sink/src/main/resources/application-rabbitmq.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
### Spring Cloud SLEUTH - RABBITMQ
spring.sleuth.messaging.rabbit.enabled = true
spring.sleuth.messaging.rabbit.remote-service-name = rabbitmq

### Spring RABBITMQ
spring.rabbitmq.host = localhost
spring.rabbitmq.port = 5672
Expand Down
14 changes: 1 addition & 13 deletions sink/src/main/resources/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ logging.level.com.rabbit.springcloudstream.sink = debug

### Spring
spring.output.ansi.enabled = always
spring.application.name = spring-cloud-stream-sink
# broker: kafka | rabbitmq
spring.profiles.active = kafka

Expand All @@ -11,9 +12,6 @@ spring.profiles.active = kafka
management.endpoints.jmx.exposure.include = *
management.endpoints.web.exposure.include = *

# Enable custom endpoints disabled by default
management.endpoint.features.enabled = true

## Health
# values: never (default) | always | when_authorized
management.endpoint.health.show-details = always
Expand All @@ -22,16 +20,6 @@ management.endpoint.health.show-details = always
# git
management.info.git.mode = full

### Spring Cloud SLEUTH
spring.sleuth.sampler.probability = 1.0
spring.sleuth.web.skipPattern = (^cleanup.*|.+favicon.*)

### Spring ZIPKIN - TO-BE-TESTED
spring.zipkin.enabled = true
spring.zipkin.base-url = http://localhost:9411/
spring.zipkin.service.name = ${spring.application.name}
spring.zipkin.discovery-client-enabled = false

### Spring Cloud STREAM
spring.cloud.stream.bindings.input.destination = timestamp
spring.cloud.stream.bindings.input.group = timestampGroup
2 changes: 0 additions & 2 deletions sink/src/main/resources/bootstrap.properties

This file was deleted.

4 changes: 0 additions & 4 deletions source/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,6 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<!--<dependency>-->
<!--<groupId>org.springframework.cloud</groupId>-->
<!--<artifactId>spring-cloud-stream-binder-rabbit</artifactId>-->
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
package com.rabbit.springcloudstream.source.configs;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;


@Slf4j
@Configuration("sourceSchedulingConfig")
// @AutoConfigureAfter(SourceStreamConfig.class)
@EnableScheduling
@AutoConfigureAfter(SourceStreamConfig.class)
public class SourceSchedulingConfig {

// no-op
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,10 @@ public class SourcePublisherService {
@Publisher publish the result to the channel and return it to the caller
*/
@Publisher(channel = Source.OUTPUT)
public Long sendTimeMessage(final String ignoredInput) {

log.debug("Ignored input: {}", ignoredInput);
public Long sendTimeMessage(final int messageNumber) {

final long timestamp = new Date().getTime();
log.info("Send: {}", timestamp);
log.info("Sending message number {}: {}", messageNumber, timestamp);
return timestamp;
}

Expand Down
14 changes: 5 additions & 9 deletions source/src/main/resources/application-kafka.properties
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
### Spring Cloud SLEUTH - KAFKA
spring.sleuth.messaging.kafka.enabled = true
spring.sleuth.messaging.kakfa.remote-service-name = kafka

### Spring KAFKA
spring.kafka.bootstrap-servers = localhost:9092
spring.kafka.client-id = ${spring.application.name}
spring.kafka.producer.bootstrap-servers = ${spring.kafka.bootstrap-servers}
spring.kafka.producer.client-id = ${spring.kafka.client-id}
spring.kafka.bootstrap-servers = localhost:9092
spring.kafka.client-id = ${spring.application.name}
spring.kafka.producer.bootstrap-servers = ${spring.kafka.bootstrap-servers}
spring.kafka.producer.client-id = ${spring.kafka.client-id}

### Spring Cloud STREAM - KAFKA
spring.cloud.stream.kafka.binder.brokers = localhost:9092
spring.cloud.stream.kafka.binder.brokers = localhost:9092
4 changes: 0 additions & 4 deletions source/src/main/resources/application-rabbitmq.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
### Spring Cloud SLEUTH - RABBITMQ
spring.sleuth.messaging.rabbit.enabled = true
spring.sleuth.messaging.rabbit.remote-service-name = rabbitmq

### Spring RABBITMQ
spring.rabbitmq.host = localhost
spring.rabbitmq.port = 5672
Expand Down
18 changes: 4 additions & 14 deletions source/src/main/resources/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ logging.level.com.rabbit.springcloudstream.source = debug

### Spring
spring.output.ansi.enabled = always
spring.application.name = spring-cloud-stream-source
# broker: kafka | rabbitmq
spring.profiles.active = kafka

Expand All @@ -11,9 +12,6 @@ spring.profiles.active = kafka
management.endpoints.jmx.exposure.include = *
management.endpoints.web.exposure.include = *

# Enable custom endpoints disabled by default
management.endpoint.features.enabled = true

## Health
# values: never (default) | always | when_authorized
management.endpoint.health.show-details = always
Expand All @@ -22,16 +20,8 @@ management.endpoint.health.show-details = always
# git
management.info.git.mode = full

### Spring Cloud SLEUTH
spring.sleuth.sampler.probability = 1.0
spring.sleuth.web.skipPattern = (^cleanup.*|.+favicon.*)

### Spring ZIPKIN - TO-BE-TESTED
spring.zipkin.enabled = true
spring.zipkin.base-url = http://localhost:9411/
spring.zipkin.service.name = ${spring.application.name}
spring.zipkin.discovery-client-enabled = false

### Spring Cloud STREAM
spring.cloud.stream.bindings.output.destination = timestamp
#spring.cloud.stream.bindings.output.destination = timestamp
# with Processor-in-the-middle
spring.cloud.stream.bindings.output.destination = timestamp-temp
spring.cloud.stream.bindings.output.group = timestampGroup
2 changes: 0 additions & 2 deletions source/src/main/resources/bootstrap.properties

This file was deleted.

0 comments on commit 6668540

Please sign in to comment.