diff --git a/spring-cloud/pom.xml b/spring-cloud/pom.xml
index 44e72535f8..93bf6ea74b 100644
--- a/spring-cloud/pom.xml
+++ b/spring-cloud/pom.xml
@@ -16,6 +16,7 @@
spring-cloud-rest
spring-cloud-zookeeper
spring-cloud-gateway
+ spring-cloud-connectors-heroku
pom
diff --git a/spring-cloud/spring-cloud-connectors-heroku/pom.xml b/spring-cloud/spring-cloud-connectors-heroku/pom.xml
new file mode 100644
index 0000000000..ba3f0ef28f
--- /dev/null
+++ b/spring-cloud/spring-cloud-connectors-heroku/pom.xml
@@ -0,0 +1,100 @@
+
+
+ 4.0.0
+
+
+ spring-boot-starter-parent
+ org.springframework.boot
+ 1.4.4.RELEASE
+
+
+
+ com.baeldung.spring.cloud
+ spring-cloud-connectors-heroku
+ 1.0.0-SNAPSHOT
+
+
+
+ org.springframework.boot
+ spring-boot-starter-cloud-connectors
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-actuator
+
+
+
+ org.postgresql
+ postgresql
+ 9.4-1201-jdbc4
+
+
+
+ com.h2database
+ h2
+ runtime
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ ${spring-cloud-dependencies.version}
+ pom
+ import
+
+
+
+
+
+ Brixton.SR7
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.19.1
+
+ 3
+ true
+
+ **/*IntegrationTest.java
+ **/*LongRunningUnitTest.java
+ **/*ManualTest.java
+ **/JdbcTest.java
+ **/*LiveTest.java
+
+ true
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.6.0
+
+ 1.8
+ 1.8
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/ConnectorsHerokuApplication.java b/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/ConnectorsHerokuApplication.java
new file mode 100644
index 0000000000..63246e89cc
--- /dev/null
+++ b/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/ConnectorsHerokuApplication.java
@@ -0,0 +1,12 @@
+package com.baeldung.spring.cloud.connectors.heroku;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class ConnectorsHerokuApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ConnectorsHerokuApplication.class, args);
+ }
+}
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/Product.java b/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/Product.java
new file mode 100644
index 0000000000..40e8809fc5
--- /dev/null
+++ b/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/Product.java
@@ -0,0 +1,30 @@
+package com.baeldung.spring.cloud.connectors.heroku.product;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+
+@Entity
+public class Product {
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private Long productId;
+ private String sku;
+
+ public Long getProductId() {
+ return productId;
+ }
+
+ public void setProductId(Long productId) {
+ this.productId = productId;
+ }
+
+ public String getSku() {
+ return sku;
+ }
+
+ public void setSku(String sku) {
+ this.sku = sku;
+ }
+}
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductController.java b/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductController.java
new file mode 100644
index 0000000000..51cf4412bf
--- /dev/null
+++ b/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductController.java
@@ -0,0 +1,26 @@
+package com.baeldung.spring.cloud.connectors.heroku.product;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/products")
+public class ProductController {
+
+ private final ProductService productService;
+
+ @Autowired
+ public ProductController(ProductService productService) {
+ this.productService = productService;
+ }
+
+ @GetMapping("/{productId}")
+ public Product findProduct(@PathVariable Long productId) {
+ return productService.findProductById(productId);
+ }
+
+ @PostMapping
+ public Product createProduct(@RequestBody Product product) {
+ return productService.createProduct(product);
+ }
+}
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductRepository.java b/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductRepository.java
new file mode 100644
index 0000000000..508e1d048b
--- /dev/null
+++ b/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductRepository.java
@@ -0,0 +1,6 @@
+package com.baeldung.spring.cloud.connectors.heroku.product;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ProductRepository extends JpaRepository{
+}
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductService.java b/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductService.java
new file mode 100644
index 0000000000..f25b4ecf7b
--- /dev/null
+++ b/spring-cloud/spring-cloud-connectors-heroku/src/main/java/com/baeldung/spring/cloud/connectors/heroku/product/ProductService.java
@@ -0,0 +1,28 @@
+package com.baeldung.spring.cloud.connectors.heroku.product;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional(readOnly = true)
+public class ProductService {
+ private final ProductRepository productRepository;
+
+ @Autowired
+ public ProductService(ProductRepository productRepository) {
+ this.productRepository = productRepository;
+ }
+
+ public Product findProductById(Long productId) {
+ return productRepository.findOne(productId);
+ }
+
+ @Transactional(propagation = Propagation.REQUIRED)
+ public Product createProduct(Product product) {
+ Product newProduct = new Product();
+ newProduct.setSku(product.getSku());
+ return productRepository.save(newProduct);
+ }
+}
diff --git a/spring-cloud/spring-cloud-connectors-heroku/src/main/resources/application.properties b/spring-cloud/spring-cloud-connectors-heroku/src/main/resources/application.properties
new file mode 100644
index 0000000000..d2f1c89dc5
--- /dev/null
+++ b/spring-cloud/spring-cloud-connectors-heroku/src/main/resources/application.properties
@@ -0,0 +1,8 @@
+spring.datasource.driverClassName=org.postgresql.Driver
+spring.datasource.maxActive=10
+spring.datasource.maxIdle=5
+spring.datasource.minIdle=2
+spring.datasource.initialSize=5
+spring.datasource.removeAbandoned=true
+
+spring.jpa.hibernate.ddl-auto=update
\ No newline at end of file