0

I am using camden-sr2 release to build spring cloud microservices,was following one of the video "building bootiful microservices" by Josch. I'm trying to integrate spring cloud stream using rabbitmq and getting error: Here is my pom.xml file

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>reservation-client</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>reservation-client</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-hateoas</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zuul</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Camden.SR2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

bootstrap.properties:
spring.application.name=reservation-client
spring.cloud.config.uri=http://localhost:8888

reservation-client.properties:
server.port=${PORT:9999}
spring.cloud.stream.bindings.output.destination=reservations

Java Files:

    @EnableBinding(ProducerChannel.class)
    @EnableCircuitBreaker
    @EnableZuulProxy
    @EnableDiscoveryClient
    @IntegrationComponentScan
    @SpringBootApplication

     public class ReservationClientApplication {

        public static void main(String[] args) {
            SpringApplication.run(ReservationClientApplication.class,      args);
        }
}

public interface ProducerChannel {

    @Output
    MessageChannel output();
}

@RestController
public class ReservationController {

    @Autowired
    private ProducerChannel producer;
    @PostMapping(path = "/reservationSave")
    public void sendReservationDetail(/*@RequestBody Reservation reservation*/){
        System.out.println("request received");
        Reservation reservation=new Reservation();
        reservation.setReservationName("Chennai");
        Message<Reservation> message= MessageBuilder.withPayload(reservation).build();
        producer.output().send(message);
        System.out.println("Message Sent to RabbitMq");
    }
}

That's it and part of error message that I get is:

=========================

AUTO-CONFIGURATION REPORT

Positive matches:

ConfigServiceBootstrapConfiguration#configServicePropertySource matched: - @ConditionalOnProperty (spring.cloud.config.enabled) matched (OnPropertyCondition)

ConfigurationPropertiesRebinderAutoConfiguration matched: - @ConditionalOnBean (types: org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor; SearchStrategy: all) found bean 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor' (OnBeanCondition)

ConfigurationPropertiesRebinderAutoConfiguration#configurationPropertiesBeans matched: - @ConditionalOnMissingBean (types: org.springframework.cloud.context.properties.ConfigurationPropertiesBeans; SearchStrategy: current) did not find any beans (OnBeanCondition)

ConfigurationPropertiesRebinderAutoConfiguration#configurationPropertiesRebinder matched: - @ConditionalOnMissingBean (types: org.springframework.cloud.context.properties.ConfigurationPropertiesRebinder; SearchStrategy: current) did not find any beans (OnBeanCondition)

EncryptionBootstrapConfiguration matched: - @ConditionalOnClass found required class 'org.springframework.security.crypto.encrypt.TextEncryptor' (OnClassCondition)

PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer matched: - @ConditionalOnMissingBean (types: org.springframework.context.support.PropertySourcesPlaceholderConfigurer; SearchStrategy: current) did not find any beans (OnBeanCondition)

Negative matches:

ConfigServiceBootstrapConfiguration.RetryConfiguration: Did not match: - @ConditionalOnProperty (spring.cloud.config.failFast) did not find property 'spring.cloud.config.failFast' (OnPropertyCondition) Matched: - @ConditionalOnClass found required classes 'org.springframework.retry.annotation.Retryable', 'org.aspectj.lang.annotation.Aspect', 'org.springframework.boot.autoconfigure.aop.AopAutoConfiguration' (OnClassCondition)

DiscoveryClientConfigServiceBootstrapConfiguration: Did not match: - @ConditionalOnProperty (spring.cloud.config.discovery.enabled) did not find property 'spring.cloud.config.discovery.enabled' (OnPropertyCondition)

EncryptionBootstrapConfiguration.RsaEncryptionConfiguration: Did not match: - Keystore nor key found in Environment (EncryptionBootstrapConfiguration.KeyCondition) Matched: - @ConditionalOnClass found required class 'org.springframework.security.rsa.crypto.RsaSecretEncryptor' (OnClassCondition)

EncryptionBootstrapConfiguration.VanillaEncryptionConfiguration: Did not match: - @ConditionalOnMissingClass found unwanted class 'org.springframework.security.rsa.crypto.RsaSecretEncryptor' (OnClassCondition)

EurekaDiscoveryClientConfigServiceBootstrapConfiguration: Did not match: - @ConditionalOnProperty (spring.cloud.config.discovery.enabled) did not find property 'spring.cloud.config.discovery.enabled' (OnPropertyCondition) Matched: - @ConditionalOnClass found required class 'org.springframework.cloud.config.client.ConfigServicePropertySourceLocator' (OnClassCondition)

Exclusions:

None

Unconditional classes:

None

2016-11-29 00:56:37.085 DEBUG [reservation-client,,,] 28551 --- [ main] .b.l.ClasspathLoggingApplicationListener : Application started with classpath: [file:/usr/lib/jvm/java-8-oracle/jre/lib/charsets.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/deploy.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/ext/cldrdata.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/ext/dnsns.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/ext/jaccess.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/ext/jfxrt.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/ext/localedata.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/ext/nashorn.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/ext/sunec.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/ext/sunjce_provider.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/ext/sunpkcs11.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/ext/zipfs.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/javaws.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/jce.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/jfr.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/jfxswt.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/jsse.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/management-agent.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/plugin.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/resources.jar, file:/usr/lib/jvm/java-8-oracle/jre/lib/rt.jar, file:/home/sudhir/yadavsudhir405/reservation-client/target/classes/, file:/home/sudhir/.m2/repository/org/springframework/cloud/spring-cloud-starter-stream-rabbit/1.1.1.RELEASE/spring-cloud-starter-stream-rabbit-1.1.1.RELEASE.jar, file:/home/sudhir/.m2/repository/org/springframework/cloud/spring-cloud-stream-binder-rabbit/1.1.1.RELEASE/spring-cloud-stream-binder-rabbit-1.1.1.RELEASE.jar, file:/home/sudhir/.m2/repository/org/springframework/cloud/spring-cloud-stream/1.1.0.RELEASE/spring-cloud-stream-1.1.0.RELEASE.jar, file:/home/sudhir/.m2/repository/org/springframework/boot/spring-boot-starter-validation/1.4.2.RELEASE/spring-boot-starter-validation-1.4.2.RELEASE.jar, file:/home/sudhir/.m2/repository/org/springframework/spring-messaging/4.3.4.RELEASE/spring-messaging-4.3.4.RELEASE.jar, file:/home/sudhir/.m2/repository/org/springframework/integration/spring-integration-core/4.3.5.RELEASE/spring-integration-core-4.3.5.RELEASE.jar, file:/home/sudhir/.m2/repository/org/springframework/spring-tx/4.3.4.RELEASE/spring-tx-4.3.4.RELEASE.jar, file:/home/sudhir/.m2/repository/org/springframework/integration/spring-integration-jmx/4.3.5.RELEASE/spring-integration-jmx-4.3.5.RELEASE.jar, file:/home/sudhir/.m2/repository/org/springframework/spring-tuple/1.0.0.RELEASE/spring-tuple-1.0.0.RELEASE.jar, file:/home/sudhir/.m2/repository/org/springframework/integration/spring-integration-tuple/1.0.0.RELEASE/spring-integration-tuple-1.0.0.RELEASE.jar, file:/home/sudhir/.m2/repository/org/springframework/cloud/spring-cloud-stream-codec/1.1.0.RELEASE/spring-cloud-stream-codec-1.1.0.RELEASE.jar, file:/home/sudhir/.m2/repository/com/esotericsoftware/kryo-shaded/3.0.3/kryo-shaded-3.0.3.jar, file:/home/sudhir/.m2/repository/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0.jar, file:/home/sudhir/.m2/repository/org/springframework/boot/spring-boot-starter-amqp/1.4.2.RELEASE/spring-boot-starter-amqp-1.4.2.RELEASE.jar, file:/home/sudhir/.m2/repository/org/springframework/amqp/spring-rabbit/1.6.5.RELEASE/spring-rabbit-1.6.5.RELEASE.jar, file:/home/sudhir/.m2/repository/org/springframework/amqp/spring-amqp/1.6.5.RELEASE/spring-amqp-1.6.5.RELEASE.jar, file:/home/sudhir/.m2/repository/com/rabbitmq/http-client/1.0.0.RELEASE/http-client-1.0.0.RELEASE.jar, file:/home/sudhir/.m2/repository/com/rabbitmq/amqp-client/3.6.5/amqp-

Sudhir Kumar
  • 163
  • 2
  • 15
  • Here is my bootstrap.properties contentsspring.application.name=reservation-client spring.cloud.config.uri=http://localhost:8888 and reservation-client-propertiesserver.port=${PORT:9999} spring.cloud.stream.bindings.output.destination=reservations – Sudhir Kumar Nov 28 '16 at 19:45
  • I was not able to connect to rabbitmq because of port number mentioned in in application.properties(Fall through Property file).I was in illusion,since I have not mentioned any property related to rabbit connection url and port in my project's property file,Spring Autoconfiguration would pick up the right default host and port.but that was not happening becasue the port number were getting inherited from application.properties. So I removed port number from application.properties and it started working. – Sudhir Kumar Nov 29 '16 at 07:40
  • 1
    Please answer your own question then and mark this as solved. – Marius Bogoevici Nov 29 '16 at 15:52

0 Answers0