Spring Boot is compatible with Apache Maven 3.2 or above. If you don’t already have Maven installed you can follow the instructions at maven.apache.org.
On Windows, if you don't already have GIT Bash installed, download GIT Bash here
Clone Code in a working directory using
$ https://github.com/mayureshkrishna/spring-boot-camel.git
Once you have cloned the code, you can now run the Spring Boot REST service using
$ mvn clean spring-boot:run
If you want to run with a specific environment application properties, then make sure to have a property file with environment name. For e.g. application-dev.properties Now you can run with application-dev.properties using:
$ mvn clean spring-boot:run -Dspring.profiles.active=dev
You should see similar to following
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Customer Comments Camel and Spring Boot 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ customer-comments ---
[INFO] Deleting C:\Data\Workspace\GITHUB\spring-boot-camel\target
[INFO]
[INFO] >>> spring-boot-maven-plugin:1.4.2.RELEASE:run (default-cli) > test-compile @ customer-comments >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ customer-comments ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ customer-comments ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 17 source files to C:\Data\Workspace\GITHUB\spring-boot-camel\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ customer-comments ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Data\Workspace\GITHUB\spring-boot-camel\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ customer-comments ---
[INFO] No sources to compile
[INFO]
[INFO] <<< spring-boot-maven-plugin:1.4.2.RELEASE:run (default-cli) < test-compile @ customer-comments <<<
[INFO]
[INFO] --- spring-boot-maven-plugin:1.4.2.RELEASE:run (default-cli) @ customer-comments ---
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.4.2.RELEASE)
2017-07-11 01:51:17.610 INFO 9508 --- [ main] c.c.b.c.c.route.CustomerCommentsRB : Starting CustomerCommentsRB on CATL0W107D70M12 with PID 9508 (C:\Data\Workspace\GITHUB\spring-boot-camel\target\classes started by mkrishna in C:\Data\Workspace\GITHUB\spring-boot-camel)
2017-07-11 01:51:17.631 INFO 9508 --- [ main] c.c.b.c.c.route.CustomerCommentsRB : The following profiles are active: dev
2017-07-11 01:51:17.846 INFO 9508 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6dbd6c72: startup date [Tue Jul 11 01:51:17 EDT 2017]; root of context hierarchy
2017-07-11 01:51:21.840 INFO 9508 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.apache.camel.spring.boot.CamelAutoConfiguration' of type [class org.apache.camel.spring.boot.CamelAutoConfiguration$$EnhancerBySpringCGLIB$$ce83e37f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2017-07-11 01:51:24.270 INFO 9508 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2017-07-11 01:51:24.303 INFO 9508 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat
2017-07-11 01:51:24.305 INFO 9508 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.6
2017-07-11 01:51:24.663 INFO 9508 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2017-07-11 01:51:24.664 INFO 9508 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 6832 ms
2017-07-11 01:51:25.120 INFO 9508 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'CamelServlet' to [/customer/comments/v1/*]
2017-07-11 01:51:25.122 INFO 9508 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
2017-07-11 01:51:25.137 INFO 9508 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*]
2017-07-11 01:51:25.137 INFO 9508 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2017-07-11 01:51:25.138 INFO 9508 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2017-07-11 01:51:25.138 INFO 9508 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]
2017-07-11 01:51:25.859 INFO 9508 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6dbd6c72: startup date [Tue Jul 11 01:51:17 EDT 2017]; root of context hierarchy
2017-07-11 01:51:25.997 INFO 9508 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2017-07-11 01:51:25.998 INFO 9508 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2017-07-11 01:51:26.127 INFO 9508 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-07-11 01:51:26.129 INFO 9508 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-07-11 01:51:26.196 INFO 9508 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-07-11 01:51:27.490 INFO 9508 --- [ main] o.a.c.i.converter.DefaultTypeConverter : Loaded 196 type converters
2017-07-11 01:51:27.836 INFO 9508 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2017-07-11 01:51:28.004 INFO 9508 --- [ main] o.a.camel.spring.boot.RoutesCollector : Loading additional Camel XML routes from: classpath:camel/*.xml
2017-07-11 01:51:28.005 INFO 9508 --- [ main] o.a.camel.spring.boot.RoutesCollector : Loading additional Camel XML rests from: classpath:camel-rest/*.xml
2017-07-11 01:51:28.008 INFO 9508 --- [ main] o.a.camel.spring.SpringCamelContext : Apache Camel 2.18.2 (CamelContext: camel-1) is starting
2017-07-11 01:51:28.009 INFO 9508 --- [ main] o.a.c.m.ManagedManagementStrategy : JMX is enabled
2017-07-11 01:51:28.282 INFO 9508 --- [ main] o.a.c.i.DefaultRuntimeEndpointRegistry : Runtime endpoint registry is in extended mode gathering usage statistics of all incoming and outgoing endpoints (cache limit: 1000)
2017-07-11 01:51:28.735 INFO 9508 --- [ main] o.a.camel.spring.SpringCamelContext : StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html
2017-07-11 01:51:29.000 INFO 9508 --- [ main] o.a.camel.spring.SpringCamelContext : Route: comments-get-route started and consuming from: direct://commentsGet-route
2017-07-11 01:51:29.002 INFO 9508 --- [ main] o.a.camel.spring.SpringCamelContext : Route: comments-search-route started and consuming from: direct://commentsSearch-route
2017-07-11 01:51:29.004 INFO 9508 --- [ main] o.a.camel.spring.SpringCamelContext : Route: comments-search-api started and consuming from: servlet:/?httpMethodRestrict=POST
2017-07-11 01:51:29.006 INFO 9508 --- [ main] o.a.camel.spring.SpringCamelContext : Route: comments-get-api started and consuming from: servlet:/?httpMethodRestrict=GET
2017-07-11 01:51:29.006 INFO 9508 --- [ main] o.a.camel.spring.SpringCamelContext : Route: comments-ping-api started and consuming from: servlet:/ping/?httpMethodRestrict=GET
2017-07-11 01:51:29.008 INFO 9508 --- [ main] o.a.camel.spring.SpringCamelContext : Route: doc-api started and consuming from: servlet:/api-doc?httpMethodRestrict=GET&matchOnUriPrefix=true
2017-07-11 01:51:29.008 INFO 9508 --- [ main] o.a.camel.spring.SpringCamelContext : Total 6 routes, of which 6 are started.
2017-07-11 01:51:29.009 INFO 9508 --- [ main] o.a.camel.spring.SpringCamelContext : Apache Camel 2.18.2 (CamelContext: camel-1) started in 1.003 seconds
2017-07-11 01:51:29.296 INFO 9508 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2017-07-11 01:51:29.302 INFO 9508 --- [ main] c.c.b.c.c.route.CustomerCommentsRB : Started CustomerCommentsRB in 13.467 seconds (JVM running for 31.939)
Now your service is up and running on localhost:8080. You can run the service at http://localhost:8080/customer/comments/v1
{"siteId":"123","accountNumber":"123456789","startDate":"2017021","endDate":"20170215","directives":null}
[
{
"commentId": "20170214001",
"entryDate": "20170214",
"sequenceNumber": "001",
"commentLineText": "SDSDSDSDSDS SDSDSDSDSD",
"userId": "XXXXXXXX"
},
{
"commentId": "20170214002",
"entryDate": "20170214",
"sequenceNumber": "002",
"commentLineText": "SDSDSDSDSDS SDSDSDSDSD",
"userId": "XXXXXXXX"
}
]