jclagache / spring-data-mybatis

Simplifies the development of creating a MyBatis-based data access layer. http://www.springsource.org/spring-data
122 stars 32 forks source link

Upgrade for latest spring version and implement Pagineable and Crud repository in order to get mybatis with hateoas support #7

Closed kopax closed 7 years ago

kopax commented 7 years ago

@jclagache

I encounter difficulties to setup a demo with this plugin.

From the example in the README.md:

I don't see any @Service("") annotation, should I add it ? MyBatis complain if I create a find method instead of findAll or findOne, because of the MyBatisRepositoryInterface, is it normal ?

I keep having this error : Invalid bound statement (not found): com.repository.ManagerRepository.findAll

my /com/repository/ManagerRepository.java interface look like this (I have tried with and without @Service annotation) :

@Service("ManagerRepository")
public interface ManagerRepository extends MyBatisRepository<Manager, Integer> {
}

My class config :

@Configuration
@EnableMyBatisRepositories
@MapperScan("com.repository")
public class MyBatisConfig { ... }

I don't clearly understand how to setup and configure, would you mind give us further details ? I would like to use this plugin and fork the paginable and crud functionality

jclagache commented 7 years ago

Hello Dimitri, The correct stereotype annotation for your repository is ... @Repository. The @Service stereotype annotation concerns the service layer as defined in Domain-Driven Design. Because the default repository factory creates a SimpleMyBatisRepository that implements the default findAll and findOne (if these are not overridden in your ManagerRepository), the find MyBatis mapped SQL statements must be defined.

Jean-Christophe

kopax commented 7 years ago

Because the default repository factory creates a SimpleMyBatisRepository that implements the default findAll and findOne (if these are not overridden in your ManagerRepository), the find MyBatis mapped SQL statements must be define

Unfortunatly, it doesn't work for me that way, probably because of a spring update (this repo isn't using the latest spring version).

In order to make it compatible with latest spring, I had to replace MyBatisQueryLookupStrategy :

public RepositoryQuery resolveQuery(Method method, RepositoryMetadata metadata, NamedQueries namedQueries) {
// with 
public RepositoryQuery resolveQuery(Method method, RepositoryMetadata metadata, ProjectionFactory factory, NamedQueries namedQueries) {

Also in MyBatisQueryMethod :

public MyBatisQueryMethod(Method method, RepositoryMetadata metadata) {
    super(method, metadata);
//with
public MyBatisQueryMethod(Method method, RepositoryMetadata metadata, ProjectionFactory factory) {
    super(method, metadata, factory);

That was the only errors I had to fix.

I don't know why but my breakpoint never get's it into MyBatisRepositoryFactory (L36) :

    return new SimpleMyBatisRepository(sessionTemplate, repositoryInformation.getRepositoryInterface().getCanonicalName());

When I try to run a repository.findAll, I have this error :

 com.repository.ManagerRepository.findAll

Notice this WARN at startup :

WARN 15650 --- [           main] o.s.c.a.ConfigurationClassPostProcessor  : Cannot enhance @Configuration bean definition 'me.jclagache.data.mybatis.repository.config.InfrastructureConfig' since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static'.

I can get a working mapping if I add the findAll definition in my xml mapper file but it is NOT the desirect behavior.

I have created a repository to illustrate the case : https://github.com/kopax/spring-data-mybatis-demo-jclagache

Just play with the controller in Application.java.

Also, thanks for your advice, I have tried with @Repository annotation as you suggested but this seems to have no effect, the repository bean was already created before.

When does the MyBatisRepositoryFactoryBean get called ? I never get through that code.

According to http://docs.spring.io/spring-data/data-commons/docs/current/reference/html/#repositories.create-instances.java-config

We should declare the repository factory bean like this :

@Bean
public MyBatisRepositoryFactoryBean entityManagerFactory() {
    return new MyBatisRepositoryFactoryBean<>();
}

But I am not completely sure.

Thanks in advance

kopax commented 7 years ago

second possibility of configuration

If I move the @EnableMyBatisRepositories annotation from my @Configuration class to @SpringBootApplication class

I can finally get through the MyBatisRepositoryFactory and MyBatisRepositoryFactoryBean.

The application fail to start with the following stack strace :

/usr/lib/jvm/java-8-openjdk-amd64/bin/java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:33351,suspend=y,server=n -Dspring.output.ansi.enabled=always -javaagent:/opt/idea/plugins/Groovy/lib/agent/gragent.jar -Dfile.encoding=UTF-8 -classpath /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/cldrdata.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/dnsns.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/icedtea-sound.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/jaccess.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/java-atk-wrapper.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/localedata.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/nashorn.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunec.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunjce_provider.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunpkcs11.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/zipfs.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/management-agent.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar:/workspace/github.com/spring-guides/gs-spring-boot-docker/complete/build/classes/main:/workspace/github.com/spring-guides/gs-spring-boot-docker/complete/build/resources/main:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-web/1.4.2.RELEASE/7145c258f8fba4067f9e3880fad23586c9b8ff10/spring-boot-starter-web-1.4.2.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.4/5fe28b9518e58819180a43a850fbc0dd24b7c050/commons-lang3-3.4.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-server-jndi/1.5.5/150e5d7dccabcdd6f79888ec8750c925cd1d2f03/apacheds-server-jndi-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/joda-time/joda-time/2.9.5/5f01da7306363fad2028b916f3eab926262de928/joda-time-2.9.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-joda/2.8.1/e96dc7727b33af7ed879bd4c437f1d87a4bd33ec/jackson-datatype-joda-2.8.1.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.mariadb.jdbc/mariadb-java-client/1.5.2/1e7a22bb51e7a90a5b42217af6badc42ac0a3026/mariadb-java-client-1.5.2.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.mybatis/mybatis/3.4.1/c5624f69848187a6bf1865cf64467beecdb9fa68/mybatis-3.4.1.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.mybatis/mybatis-spring/1.3.0/d1dbdc46cac543447ffd5aeda59f1a9bb34f0912/mybatis-spring-1.3.0.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.mybatis.spring.boot/mybatis-spring-boot-starter/1.1.1/d0f14dd5e6cee6adc3d2bfee4c0a879dced80552/mybatis-spring-boot-starter-1.1.1.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-data-rest/1.4.2.RELEASE/6d4a9fb0391163cdc7d9bb6b801b2531c5546e24/spring-boot-starter-data-rest-1.4.2.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter/1.4.2.RELEASE/c6068dc9688c12509bb1c36fcf6ff4817d46cce2/spring-boot-starter-1.4.2.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-tomcat/1.4.2.RELEASE/1ab1939bb566bbaf25cc1f50cdf955b6c927c4d3/spring-boot-starter-tomcat-1.4.2.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-validator/5.2.4.Final/fb18766b576aa6632bcfe9a20a023cbd52bf9769/hibernate-validator-5.2.4.Final.jar:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.8.4/1c36c81e79cacdf48116afba8495e3393d267ba1/jackson-databind-2.8.4.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-web/4.3.4.RELEASE/719f05404ba8a9de1516398d31d9622042584f0d/spring-web-4.3.4.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/4.3.4.RELEASE/79529d7ea72045e92e3dbeb0f4f6919093f47137/spring-webmvc-4.3.4.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-protocol-ldap/1.5.5/f6f8cb2e97a64d34fbf393c746b0a4a3136ff801/apacheds-protocol-ldap-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-jndi/1.5.5/8fb5868b005568555e447b62556bf7d050c697/apacheds-core-jndi-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-ldap/0.9.15/c902a1755d5a33396ae178cae9a1195a6f1d08b9/shared-ldap-0.9.15.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.21/139535a69a4239db087de9bab0bee568bf8e0b70/slf4j-api-1.7.21.jar:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.8.4/de3570327cf8d1d4f37920535c51a1f74225a6de/jackson-annotations-2.8.4.jar:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.8.4/ca365c0817cc345ea831cae7c4e9b42a72b32281/jackson-core-2.8.4.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.mybatis.spring.boot/mybatis-spring-boot-autoconfigure/1.1.1/c7b01dca4aa80ec04c5dacf0348bb8c6ef40e9ce/mybatis-spring-boot-autoconfigure-1.1.1.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-rest-webmvc/2.5.5.RELEASE/f98626515362d785df923119f9f8149b7d490509/spring-data-rest-webmvc-2.5.5.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.json/json/20140107/d1ffca6e2482b002702c6a576166fd685e3370e3/json-20140107.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/4.3.4.RELEASE/da373e491d3863477568896089ee9457bc316783/spring-core-4.3.4.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot/1.4.2.RELEASE/19ecf2582f58722c08147918982227885f6e31b1/spring-boot-1.4.2.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-autoconfigure/1.4.2.RELEASE/368e464f9ce4622722ce0944cc4ba6fa71332b68/spring-boot-autoconfigure-1.4.2.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-logging/1.4.2.RELEASE/2799c67340d6a27af5f17a7ecdfa1f50cb1d152d/spring-boot-starter-logging-1.4.2.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.17/7a27ea250c5130b2922b86dea63cbb1cc10a660c/snakeyaml-1.17.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/8.5.6/960834b5abc6b2135250487abf6c060a0fa5a22e/tomcat-embed-core-8.5.6.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-el/8.5.6/a102298d8dc72f4065533d5962953d753b172602/tomcat-embed-el-8.5.6.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-websocket/8.5.6/6f6940a216b380ea8506530c374fcfeef820ba54/tomcat-embed-websocket-8.5.6.jar:/home/dka/.gradle/caches/modules-2/files-2.1/javax.validation/validation-api/1.1.0.Final/8613ae82954779d518631e05daa73a6a954817d5/validation-api-1.1.0.Final.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.jboss.logging/jboss-logging/3.3.0.Final/3616bb87707910296e2c195dc016287080bba5af/jboss-logging-3.3.0.Final.jar:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml/classmate/1.3.3/864c8e370a691e343210cc7c532fc198cee460d8/classmate-1.3.3.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aop/4.3.4.RELEASE/43f3d4a43a8dcc91137e092b981101332a645e4b/spring-aop-4.3.4.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-beans/4.3.4.RELEASE/4fbf4327d6c7f81c821f2d56e8695d394c7b930a/spring-beans-4.3.4.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-context/4.3.4.RELEASE/c8086505715fba4927fed3d7e3314692817413b6/spring-context-4.3.4.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-expression/4.3.4.RELEASE/5573955b5373669be0e352a1eb5dc9c87b069cb6/spring-expression-4.3.4.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-asn1-codec/0.9.15/b44ac305aec48cfa36fab90f5fb95ea2b3975d8f/shared-asn1-codec-0.9.15.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-kerberos-shared/1.5.5/c170e0e38d02eeb3b2b395b50d2d10707dfbc93c/apacheds-kerberos-shared-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core/1.5.5/3c9e6bcb3e2419866f80f963aaf35d65dd67d9e5/apacheds-core-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-bootstrap-partition/1.5.5/2f49deafcfb963b350347067b2d05cc6494762ec/apacheds-bootstrap-partition-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-protocol-shared/1.5.5/94cbc00d5cae1ad1607c146952354359d056565d/apacheds-protocol-shared-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/commons-lang/commons-lang/2.4/16313e02a793435009f1e458fa4af5d879f6fb11/commons-lang-2.4.jar:/home/dka/.gradle/caches/modules-2/files-2.1/commons-collections/commons-collections/3.2.2/8ad72fe39fa8c91eaaf12aadb21e0c3661fe26d5/commons-collections-3.2.2.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-asn1/0.9.15/c7bf2218d8e27f6d6642bd4ac12f7eae9b670592/shared-asn1-0.9.15.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-ldap-constants/0.9.15/cc5b734fa27dfdf97314b9aefa96853e0909ca04/shared-ldap-constants-0.9.15.jar:/home/dka/.gradle/caches/modules-2/files-2.1/antlr/antlr/2.7.7/83cd2cd674a217ade95a4bb83a8a14f351f48bd0/antlr-2.7.7.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-jdbc/1.4.2.RELEASE/706b5cd5996bd8c03248c3236e90e9d2d7c948db/spring-boot-starter-jdbc-1.4.2.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-rest-core/2.5.5.RELEASE/bb44731ae021286cd3ca109ad705faa2d31ec83e/spring-data-rest-core-2.5.5.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.slf4j/jcl-over-slf4j/1.7.21/331b564a3a42f002a0004b039c1c430da89062cd/jcl-over-slf4j-1.7.21.jar:/home/dka/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.1.7/9865cf6994f9ff13fce0bf93f2054ef6c65bb462/logback-classic-1.1.7.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.slf4j/jul-to-slf4j/1.7.21/2f22c882ffa479d1e9ff4eb0e8e2c29f2a0871ed/jul-to-slf4j-1.7.21.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.slf4j/log4j-over-slf4j/1.7.21/b3700d97464d99bdcd42c0177d6e7951c94d75ff/log4j-over-slf4j-1.7.21.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.mina/mina-core/2.0.0-M6/1c5f4564ae6e5f5a7b4d6c5f780ef290c5cbc9d7/mina-core-2.0.0-M6.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-xdbm-search/1.5.5/e2202ccb15d5af49fd982daac289b8b12019e157/apacheds-xdbm-search-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-xdbm-tools/1.5.5/fc1bf57bf99956c1552359dc9aac6cf25994c3fe/apacheds-xdbm-tools-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-schema-bootstrap/1.5.5/a76586c4895dd8ff21b305485207023f491229a7/apacheds-schema-bootstrap-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-entry/1.5.5/f96af6676dba29782387711b636841fda0d04084/apacheds-core-entry-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-schema-registries/1.5.5/a175780bc8a76ad2c2516f2dec7cd90a6f240bcb/apacheds-schema-registries-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-shared/1.5.5/f28ab38ff1315d0b14ed747712ed452fbc7266f9/apacheds-core-shared-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-constants/1.5.5/475893bea4fe50b82f2b361755805d18327391e3/apacheds-core-constants-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-utils/1.5.5/fb86e70d68bf73d2fa2a4e464081ae60f2765b96/apacheds-utils-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-jdbm-store/1.5.5/41ad6fc032254cd40793a39bf1fe062a3aabd16f/apacheds-jdbm-store-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-xdbm-base/1.5.5/7564f8dc67d5b679526486d3011b062821aa4ccb/apacheds-xdbm-base-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-bootstrap-extract/1.5.5/39726f002259550f6f08534b0f4226d3a84582b6/apacheds-bootstrap-extract-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-cursor/0.9.15/61772611b63da7d5d9d2f0438c80ba55f0c00053/shared-cursor-0.9.15.jar:/home/dka/.gradle/caches/modules-2/files-2.1/bouncycastle/bcprov-jdk15/140/83933f3f3312473afbe42a232392b3feffaadc36/bcprov-jdk15-140.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-schema-extras/1.5.5/816d89b19b61251ad0983e4eb68c01c7f87dd281/apacheds-schema-extras-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat/tomcat-jdbc/8.5.6/feb10a9e22f70565c7556f327b0481dba8587bbc/tomcat-jdbc-8.5.6.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jdbc/4.3.4.RELEASE/42175d194cf6aa7c716c0887f30255e5c0a5262c/spring-jdbc-4.3.4.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-tx/4.3.4.RELEASE/303d00338193c04312426325121572d2fc1d4ec5/spring-tx-4.3.4.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.hateoas/spring-hateoas/0.20.0.RELEASE/623a5983010e905090f69e55f4e0a63fba195085/spring-hateoas-0.20.0.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-commons/1.12.5.RELEASE/29ed49845ecb804c140a8fea7bb4a524b0502135/spring-data-commons-1.12.5.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.plugin/spring-plugin-core/1.2.0.RELEASE/f380e7760032e7d929184f8ad8a33716b75c0657/spring-plugin-core-1.2.0.RELEASE.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.atteo/evo-inflector/1.2.1/b9cdd1e7dc20a222db0853dfb152ef349c7d0eed/evo-inflector-1.2.1.jar:/home/dka/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-core/1.1.7/7873092d39ef741575ca91378a6a21c388363ac8/logback-core-1.1.7.jar:/home/dka/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/1.4/a8762d07e76cfde2395257a5da47ba7c1dbd3dce/commons-io-1.4.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-jdbm/1.5.5/b2e563d45c7a4cdf840fd5d49428692e0b5b6955/apacheds-jdbm-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-avl/1.5.5/f11563fc86bfa8caaddc1b498288bb0fb767a060/apacheds-core-avl-1.5.5.jar:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat/tomcat-juli/8.5.6/83d2d1e3362ecca504f3bf8ed1bc4cc451754d24/tomcat-juli-8.5.6.jar:/opt/idea/lib/idea_rt.jar com.Application --debug
Connected to the target VM, address: '127.0.0.1:33351', transport: 'socket'
2016-11-09 22:59:50.850 DEBUG 18320 --- [           main] .b.l.ClasspathLoggingApplicationListener : Application started with classpath: [file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/charsets.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/cldrdata.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/dnsns.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/icedtea-sound.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/jaccess.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/java-atk-wrapper.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/localedata.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/nashorn.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunec.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunjce_provider.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunpkcs11.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/zipfs.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/management-agent.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/resources.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar, file:/workspace/github.com/spring-guides/gs-spring-boot-docker/complete/build/classes/main/, file:/workspace/github.com/spring-guides/gs-spring-boot-docker/complete/build/resources/main/, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-web/1.4.2.RELEASE/7145c258f8fba4067f9e3880fad23586c9b8ff10/spring-boot-starter-web-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.4/5fe28b9518e58819180a43a850fbc0dd24b7c050/commons-lang3-3.4.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-server-jndi/1.5.5/150e5d7dccabcdd6f79888ec8750c925cd1d2f03/apacheds-server-jndi-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/joda-time/joda-time/2.9.5/5f01da7306363fad2028b916f3eab926262de928/joda-time-2.9.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-joda/2.8.1/e96dc7727b33af7ed879bd4c437f1d87a4bd33ec/jackson-datatype-joda-2.8.1.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.mariadb.jdbc/mariadb-java-client/1.5.2/1e7a22bb51e7a90a5b42217af6badc42ac0a3026/mariadb-java-client-1.5.2.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.mybatis/mybatis/3.4.1/c5624f69848187a6bf1865cf64467beecdb9fa68/mybatis-3.4.1.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.mybatis/mybatis-spring/1.3.0/d1dbdc46cac543447ffd5aeda59f1a9bb34f0912/mybatis-spring-1.3.0.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.mybatis.spring.boot/mybatis-spring-boot-starter/1.1.1/d0f14dd5e6cee6adc3d2bfee4c0a879dced80552/mybatis-spring-boot-starter-1.1.1.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-data-rest/1.4.2.RELEASE/6d4a9fb0391163cdc7d9bb6b801b2531c5546e24/spring-boot-starter-data-rest-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter/1.4.2.RELEASE/c6068dc9688c12509bb1c36fcf6ff4817d46cce2/spring-boot-starter-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-tomcat/1.4.2.RELEASE/1ab1939bb566bbaf25cc1f50cdf955b6c927c4d3/spring-boot-starter-tomcat-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-validator/5.2.4.Final/fb18766b576aa6632bcfe9a20a023cbd52bf9769/hibernate-validator-5.2.4.Final.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.8.4/1c36c81e79cacdf48116afba8495e3393d267ba1/jackson-databind-2.8.4.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-web/4.3.4.RELEASE/719f05404ba8a9de1516398d31d9622042584f0d/spring-web-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/4.3.4.RELEASE/79529d7ea72045e92e3dbeb0f4f6919093f47137/spring-webmvc-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-protocol-ldap/1.5.5/f6f8cb2e97a64d34fbf393c746b0a4a3136ff801/apacheds-protocol-ldap-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-jndi/1.5.5/8fb5868b005568555e447b62556bf7d050c697/apacheds-core-jndi-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-ldap/0.9.15/c902a1755d5a33396ae178cae9a1195a6f1d08b9/shared-ldap-0.9.15.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.21/139535a69a4239db087de9bab0bee568bf8e0b70/slf4j-api-1.7.21.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.8.4/de3570327cf8d1d4f37920535c51a1f74225a6de/jackson-annotations-2.8.4.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.8.4/ca365c0817cc345ea831cae7c4e9b42a72b32281/jackson-core-2.8.4.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.mybatis.spring.boot/mybatis-spring-boot-autoconfigure/1.1.1/c7b01dca4aa80ec04c5dacf0348bb8c6ef40e9ce/mybatis-spring-boot-autoconfigure-1.1.1.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-rest-webmvc/2.5.5.RELEASE/f98626515362d785df923119f9f8149b7d490509/spring-data-rest-webmvc-2.5.5.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.json/json/20140107/d1ffca6e2482b002702c6a576166fd685e3370e3/json-20140107.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/4.3.4.RELEASE/da373e491d3863477568896089ee9457bc316783/spring-core-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot/1.4.2.RELEASE/19ecf2582f58722c08147918982227885f6e31b1/spring-boot-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-autoconfigure/1.4.2.RELEASE/368e464f9ce4622722ce0944cc4ba6fa71332b68/spring-boot-autoconfigure-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-logging/1.4.2.RELEASE/2799c67340d6a27af5f17a7ecdfa1f50cb1d152d/spring-boot-starter-logging-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.17/7a27ea250c5130b2922b86dea63cbb1cc10a660c/snakeyaml-1.17.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/8.5.6/960834b5abc6b2135250487abf6c060a0fa5a22e/tomcat-embed-core-8.5.6.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-el/8.5.6/a102298d8dc72f4065533d5962953d753b172602/tomcat-embed-el-8.5.6.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-websocket/8.5.6/6f6940a216b380ea8506530c374fcfeef820ba54/tomcat-embed-websocket-8.5.6.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/javax.validation/validation-api/1.1.0.Final/8613ae82954779d518631e05daa73a6a954817d5/validation-api-1.1.0.Final.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.jboss.logging/jboss-logging/3.3.0.Final/3616bb87707910296e2c195dc016287080bba5af/jboss-logging-3.3.0.Final.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml/classmate/1.3.3/864c8e370a691e343210cc7c532fc198cee460d8/classmate-1.3.3.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aop/4.3.4.RELEASE/43f3d4a43a8dcc91137e092b981101332a645e4b/spring-aop-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-beans/4.3.4.RELEASE/4fbf4327d6c7f81c821f2d56e8695d394c7b930a/spring-beans-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-context/4.3.4.RELEASE/c8086505715fba4927fed3d7e3314692817413b6/spring-context-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-expression/4.3.4.RELEASE/5573955b5373669be0e352a1eb5dc9c87b069cb6/spring-expression-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-asn1-codec/0.9.15/b44ac305aec48cfa36fab90f5fb95ea2b3975d8f/shared-asn1-codec-0.9.15.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-kerberos-shared/1.5.5/c170e0e38d02eeb3b2b395b50d2d10707dfbc93c/apacheds-kerberos-shared-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core/1.5.5/3c9e6bcb3e2419866f80f963aaf35d65dd67d9e5/apacheds-core-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-bootstrap-partition/1.5.5/2f49deafcfb963b350347067b2d05cc6494762ec/apacheds-bootstrap-partition-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-protocol-shared/1.5.5/94cbc00d5cae1ad1607c146952354359d056565d/apacheds-protocol-shared-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/commons-lang/commons-lang/2.4/16313e02a793435009f1e458fa4af5d879f6fb11/commons-lang-2.4.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/commons-collections/commons-collections/3.2.2/8ad72fe39fa8c91eaaf12aadb21e0c3661fe26d5/commons-collections-3.2.2.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-asn1/0.9.15/c7bf2218d8e27f6d6642bd4ac12f7eae9b670592/shared-asn1-0.9.15.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-ldap-constants/0.9.15/cc5b734fa27dfdf97314b9aefa96853e0909ca04/shared-ldap-constants-0.9.15.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/antlr/antlr/2.7.7/83cd2cd674a217ade95a4bb83a8a14f351f48bd0/antlr-2.7.7.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-jdbc/1.4.2.RELEASE/706b5cd5996bd8c03248c3236e90e9d2d7c948db/spring-boot-starter-jdbc-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-rest-core/2.5.5.RELEASE/bb44731ae021286cd3ca109ad705faa2d31ec83e/spring-data-rest-core-2.5.5.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.slf4j/jcl-over-slf4j/1.7.21/331b564a3a42f002a0004b039c1c430da89062cd/jcl-over-slf4j-1.7.21.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.1.7/9865cf6994f9ff13fce0bf93f2054ef6c65bb462/logback-classic-1.1.7.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.slf4j/jul-to-slf4j/1.7.21/2f22c882ffa479d1e9ff4eb0e8e2c29f2a0871ed/jul-to-slf4j-1.7.21.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.slf4j/log4j-over-slf4j/1.7.21/b3700d97464d99bdcd42c0177d6e7951c94d75ff/log4j-over-slf4j-1.7.21.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.mina/mina-core/2.0.0-M6/1c5f4564ae6e5f5a7b4d6c5f780ef290c5cbc9d7/mina-core-2.0.0-M6.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-xdbm-search/1.5.5/e2202ccb15d5af49fd982daac289b8b12019e157/apacheds-xdbm-search-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-xdbm-tools/1.5.5/fc1bf57bf99956c1552359dc9aac6cf25994c3fe/apacheds-xdbm-tools-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-schema-bootstrap/1.5.5/a76586c4895dd8ff21b305485207023f491229a7/apacheds-schema-bootstrap-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-entry/1.5.5/f96af6676dba29782387711b636841fda0d04084/apacheds-core-entry-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-schema-registries/1.5.5/a175780bc8a76ad2c2516f2dec7cd90a6f240bcb/apacheds-schema-registries-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-shared/1.5.5/f28ab38ff1315d0b14ed747712ed452fbc7266f9/apacheds-core-shared-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-constants/1.5.5/475893bea4fe50b82f2b361755805d18327391e3/apacheds-core-constants-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-utils/1.5.5/fb86e70d68bf73d2fa2a4e464081ae60f2765b96/apacheds-utils-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-jdbm-store/1.5.5/41ad6fc032254cd40793a39bf1fe062a3aabd16f/apacheds-jdbm-store-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-xdbm-base/1.5.5/7564f8dc67d5b679526486d3011b062821aa4ccb/apacheds-xdbm-base-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-bootstrap-extract/1.5.5/39726f002259550f6f08534b0f4226d3a84582b6/apacheds-bootstrap-extract-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-cursor/0.9.15/61772611b63da7d5d9d2f0438c80ba55f0c00053/shared-cursor-0.9.15.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/bouncycastle/bcprov-jdk15/140/83933f3f3312473afbe42a232392b3feffaadc36/bcprov-jdk15-140.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-schema-extras/1.5.5/816d89b19b61251ad0983e4eb68c01c7f87dd281/apacheds-schema-extras-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat/tomcat-jdbc/8.5.6/feb10a9e22f70565c7556f327b0481dba8587bbc/tomcat-jdbc-8.5.6.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jdbc/4.3.4.RELEASE/42175d194cf6aa7c716c0887f30255e5c0a5262c/spring-jdbc-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-tx/4.3.4.RELEASE/303d00338193c04312426325121572d2fc1d4ec5/spring-tx-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.hateoas/spring-hateoas/0.20.0.RELEASE/623a5983010e905090f69e55f4e0a63fba195085/spring-hateoas-0.20.0.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-commons/1.12.5.RELEASE/29ed49845ecb804c140a8fea7bb4a524b0502135/spring-data-commons-1.12.5.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.plugin/spring-plugin-core/1.2.0.RELEASE/f380e7760032e7d929184f8ad8a33716b75c0657/spring-plugin-core-1.2.0.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.atteo/evo-inflector/1.2.1/b9cdd1e7dc20a222db0853dfb152ef349c7d0eed/evo-inflector-1.2.1.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-core/1.1.7/7873092d39ef741575ca91378a6a21c388363ac8/logback-core-1.1.7.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/1.4/a8762d07e76cfde2395257a5da47ba7c1dbd3dce/commons-io-1.4.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-jdbm/1.5.5/b2e563d45c7a4cdf840fd5d49428692e0b5b6955/apacheds-jdbm-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-avl/1.5.5/f11563fc86bfa8caaddc1b498288bb0fb767a060/apacheds-core-avl-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat/tomcat-juli/8.5.6/83d2d1e3362ecca504f3bf8ed1bc4cc451754d24/tomcat-juli-8.5.6.jar, file:/opt/idea/lib/idea_rt.jar, file:/opt/idea/plugins/Groovy/lib/agent/gragent.jar]

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.4.2.RELEASE)

2016-11-09 22:59:51.002  INFO 18320 --- [           main] com.Application                          : Starting Application on dev-01 with PID 18320 (/workspace/github.com/spring-guides/gs-spring-boot-docker/complete/build/classes/main started by dka in /workspace/github.com/spring-guides/gs-spring-boot-docker/complete)
2016-11-09 22:59:51.003  INFO 18320 --- [           main] com.Application                          : No active profile set, falling back to default profiles: default
2016-11-09 22:59:51.003 DEBUG 18320 --- [           main] o.s.boot.SpringApplication               : Loading source class com.Application
2016-11-09 22:59:51.108 DEBUG 18320 --- [           main] o.s.b.c.c.ConfigFileApplicationListener  : Loaded config file 'file:/workspace/github.com/spring-guides/gs-spring-boot-docker/complete/build/resources/main/application.yml' (classpath:/application.yml)
2016-11-09 22:59:51.109 DEBUG 18320 --- [           main] o.s.b.c.c.ConfigFileApplicationListener  : Skipped (empty) config file 'file:/workspace/github.com/spring-guides/gs-spring-boot-docker/complete/build/resources/main/application.yml' (classpath:/application.yml) for profile default
2016-11-09 22:59:51.114  INFO 18320 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2a448449: startup date [Wed Nov 09 22:59:51 ICT 2016]; root of context hierarchy
2016-11-09 22:59:51.117 DEBUG 18320 --- [           main] ationConfigEmbeddedWebApplicationContext : Bean factory for org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2a448449: org.springframework.beans.factory.support.DefaultListableBeanFactory@5e81e5ac: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.event.internalEventListenerProcessor,org.springframework.context.event.internalEventListenerFactory,application]; root of factory hierarchy
2016-11-09 22:59:53.275 DEBUG 18320 --- [           main] o.s.b.a.AutoConfigurationPackages        : @EnableAutoConfiguration was declared on a class in the package 'com'. Automatic @Repository and @Entity scanning is enabled.
2016-11-09 22:59:53.630  WARN 18320 --- [           main] o.m.s.mapper.ClassPathMapperScanner      : No MyBatis mapper was found in '[com]' package. Please check your configuration.
2016-11-09 23:00:15.359  WARN 18320 --- [           main] o.m.s.mapper.ClassPathMapperScanner      : Skipping MapperFactoryBean with name 'managerRepository' and 'com.repository.ManagerRepository' mapperInterface. Bean already defined with the same name!
2016-11-09 23:00:15.360  WARN 18320 --- [           main] o.m.s.mapper.ClassPathMapperScanner      : No MyBatis mapper was found in '[${mybatis.mapper.base.package:*}]' package. Please check your configuration.
2016-11-09 23:00:15.360  WARN 18320 --- [           main] o.s.c.a.ConfigurationClassPostProcessor  : Cannot enhance @Configuration bean definition 'me.jclagache.data.mybatis.repository.config.InfrastructureConfig' since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static'.
2016-11-09 23:00:15.837  INFO 18320 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [class org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$c49bde69] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2016-11-09 23:00:15.921 DEBUG 18320 --- [           main] ationConfigEmbeddedWebApplicationContext : Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@5e81c747]
2016-11-09 23:00:15.922 DEBUG 18320 --- [           main] ationConfigEmbeddedWebApplicationContext : Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@4574ee11]
2016-11-09 23:00:16.367 DEBUG 18320 --- [           main] .t.TomcatEmbeddedServletContainerFactory : Code archive: /home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot/1.4.2.RELEASE/19ecf2582f58722c08147918982227885f6e31b1/spring-boot-1.4.2.RELEASE.jar
2016-11-09 23:00:16.368 DEBUG 18320 --- [           main] .t.TomcatEmbeddedServletContainerFactory : Code archive: /home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot/1.4.2.RELEASE/19ecf2582f58722c08147918982227885f6e31b1/spring-boot-1.4.2.RELEASE.jar
2016-11-09 23:00:16.368 DEBUG 18320 --- [           main] .t.TomcatEmbeddedServletContainerFactory : None of the document roots [src/main/webapp, public, static] point to a directory and will be ignored.
2016-11-09 23:00:16.433  INFO 18320 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8090 (http)
2016-11-09 23:00:16.451  INFO 18320 --- [           main] o.apache.catalina.core.StandardService   : Starting service Tomcat
2016-11-09 23:00:16.452  INFO 18320 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.6
2016-11-09 23:00:16.600  INFO 18320 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2016-11-09 23:00:16.601  INFO 18320 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 25491 ms
2016-11-09 23:00:16.773 DEBUG 18320 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans : Added existing Servlet initializer bean 'dispatcherServletRegistration'; order=2147483647, resource=class path resource [org/springframework/boot/autoconfigure/web/DispatcherServletAutoConfiguration$DispatcherServletRegistrationConfiguration.class]
2016-11-09 23:00:16.842 DEBUG 18320 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'characterEncodingFilter'; order=-2147483648, resource=class path resource [org/springframework/boot/autoconfigure/web/HttpEncodingAutoConfiguration.class]
2016-11-09 23:00:16.842 DEBUG 18320 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'hiddenHttpMethodFilter'; order=-10000, resource=class path resource [org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration.class]
2016-11-09 23:00:16.842 DEBUG 18320 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'httpPutFormContentFilter'; order=-9900, resource=class path resource [org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration.class]
2016-11-09 23:00:16.842 DEBUG 18320 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'requestContextFilter'; order=-105, resource=class path resource [org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter.class]
2016-11-09 23:00:16.849  INFO 18320 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
2016-11-09 23:00:16.855  INFO 18320 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2016-11-09 23:00:16.856  INFO 18320 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2016-11-09 23:00:16.856  INFO 18320 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2016-11-09 23:00:16.856  INFO 18320 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2016-11-09 23:00:16.881 DEBUG 18320 --- [ost-startStop-1] o.s.b.w.f.OrderedRequestContextFilter    : Initializing filter 'requestContextFilter'
2016-11-09 23:00:16.883 DEBUG 18320 --- [ost-startStop-1] o.s.b.w.f.OrderedRequestContextFilter    : Filter 'requestContextFilter' configured successfully
2016-11-09 23:00:16.884 DEBUG 18320 --- [ost-startStop-1] .s.b.w.f.OrderedHttpPutFormContentFilter : Initializing filter 'httpPutFormContentFilter'
2016-11-09 23:00:16.884 DEBUG 18320 --- [ost-startStop-1] .s.b.w.f.OrderedHttpPutFormContentFilter : Filter 'httpPutFormContentFilter' configured successfully
2016-11-09 23:00:16.884 DEBUG 18320 --- [ost-startStop-1] o.s.b.w.f.OrderedHiddenHttpMethodFilter  : Initializing filter 'hiddenHttpMethodFilter'
2016-11-09 23:00:16.884 DEBUG 18320 --- [ost-startStop-1] o.s.b.w.f.OrderedHiddenHttpMethodFilter  : Filter 'hiddenHttpMethodFilter' configured successfully
2016-11-09 23:00:16.884 DEBUG 18320 --- [ost-startStop-1] o.s.b.w.f.OrderedCharacterEncodingFilter : Initializing filter 'characterEncodingFilter'
2016-11-09 23:00:16.885 DEBUG 18320 --- [ost-startStop-1] o.s.b.w.f.OrderedCharacterEncodingFilter : Filter 'characterEncodingFilter' configured successfully
2016-11-09 23:00:43.240  INFO 18320 --- [           main] o.s.b.f.config.PropertiesFactoryBean     : Loading properties file from class path resource [rest-default-messages.properties]
2016-11-09 23:00:43.289  WARN 18320 --- [           main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'profileController' defined in URL [jar:file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-rest-webmvc/2.5.5.RELEASE/f98626515362d785df923119f9f8149b7d490509/spring-data-rest-webmvc-2.5.5.RELEASE.jar!/org/springframework/data/rest/webmvc/ProfileController.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'resourceMappings' defined in class path resource [org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.rest.core.mapping.RepositoryResourceMappings]: Factory method 'resourceMappings' threw exception; nested exception is java.lang.IllegalArgumentException: PersistentEntity must not be null!
2016-11-09 23:00:43.294  INFO 18320 --- [           main] o.apache.catalina.core.StandardService   : Stopping service Tomcat
2016-11-09 23:00:43.312 DEBUG 18320 --- [           main] .b.l.ClasspathLoggingApplicationListener : Application failed to start with classpath: [file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/charsets.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/cldrdata.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/dnsns.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/icedtea-sound.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/jaccess.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/java-atk-wrapper.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/localedata.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/nashorn.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunec.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunjce_provider.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/sunpkcs11.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/zipfs.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/management-agent.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/resources.jar, file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar, file:/workspace/github.com/spring-guides/gs-spring-boot-docker/complete/build/classes/main/, file:/workspace/github.com/spring-guides/gs-spring-boot-docker/complete/build/resources/main/, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-web/1.4.2.RELEASE/7145c258f8fba4067f9e3880fad23586c9b8ff10/spring-boot-starter-web-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.4/5fe28b9518e58819180a43a850fbc0dd24b7c050/commons-lang3-3.4.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-server-jndi/1.5.5/150e5d7dccabcdd6f79888ec8750c925cd1d2f03/apacheds-server-jndi-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/joda-time/joda-time/2.9.5/5f01da7306363fad2028b916f3eab926262de928/joda-time-2.9.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-joda/2.8.1/e96dc7727b33af7ed879bd4c437f1d87a4bd33ec/jackson-datatype-joda-2.8.1.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.mariadb.jdbc/mariadb-java-client/1.5.2/1e7a22bb51e7a90a5b42217af6badc42ac0a3026/mariadb-java-client-1.5.2.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.mybatis/mybatis/3.4.1/c5624f69848187a6bf1865cf64467beecdb9fa68/mybatis-3.4.1.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.mybatis/mybatis-spring/1.3.0/d1dbdc46cac543447ffd5aeda59f1a9bb34f0912/mybatis-spring-1.3.0.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.mybatis.spring.boot/mybatis-spring-boot-starter/1.1.1/d0f14dd5e6cee6adc3d2bfee4c0a879dced80552/mybatis-spring-boot-starter-1.1.1.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-data-rest/1.4.2.RELEASE/6d4a9fb0391163cdc7d9bb6b801b2531c5546e24/spring-boot-starter-data-rest-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter/1.4.2.RELEASE/c6068dc9688c12509bb1c36fcf6ff4817d46cce2/spring-boot-starter-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-tomcat/1.4.2.RELEASE/1ab1939bb566bbaf25cc1f50cdf955b6c927c4d3/spring-boot-starter-tomcat-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-validator/5.2.4.Final/fb18766b576aa6632bcfe9a20a023cbd52bf9769/hibernate-validator-5.2.4.Final.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.8.4/1c36c81e79cacdf48116afba8495e3393d267ba1/jackson-databind-2.8.4.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-web/4.3.4.RELEASE/719f05404ba8a9de1516398d31d9622042584f0d/spring-web-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/4.3.4.RELEASE/79529d7ea72045e92e3dbeb0f4f6919093f47137/spring-webmvc-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-protocol-ldap/1.5.5/f6f8cb2e97a64d34fbf393c746b0a4a3136ff801/apacheds-protocol-ldap-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-jndi/1.5.5/8fb5868b005568555e447b62556bf7d050c697/apacheds-core-jndi-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-ldap/0.9.15/c902a1755d5a33396ae178cae9a1195a6f1d08b9/shared-ldap-0.9.15.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.21/139535a69a4239db087de9bab0bee568bf8e0b70/slf4j-api-1.7.21.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.8.4/de3570327cf8d1d4f37920535c51a1f74225a6de/jackson-annotations-2.8.4.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.8.4/ca365c0817cc345ea831cae7c4e9b42a72b32281/jackson-core-2.8.4.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.mybatis.spring.boot/mybatis-spring-boot-autoconfigure/1.1.1/c7b01dca4aa80ec04c5dacf0348bb8c6ef40e9ce/mybatis-spring-boot-autoconfigure-1.1.1.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-rest-webmvc/2.5.5.RELEASE/f98626515362d785df923119f9f8149b7d490509/spring-data-rest-webmvc-2.5.5.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.json/json/20140107/d1ffca6e2482b002702c6a576166fd685e3370e3/json-20140107.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/4.3.4.RELEASE/da373e491d3863477568896089ee9457bc316783/spring-core-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot/1.4.2.RELEASE/19ecf2582f58722c08147918982227885f6e31b1/spring-boot-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-autoconfigure/1.4.2.RELEASE/368e464f9ce4622722ce0944cc4ba6fa71332b68/spring-boot-autoconfigure-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-logging/1.4.2.RELEASE/2799c67340d6a27af5f17a7ecdfa1f50cb1d152d/spring-boot-starter-logging-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.17/7a27ea250c5130b2922b86dea63cbb1cc10a660c/snakeyaml-1.17.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/8.5.6/960834b5abc6b2135250487abf6c060a0fa5a22e/tomcat-embed-core-8.5.6.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-el/8.5.6/a102298d8dc72f4065533d5962953d753b172602/tomcat-embed-el-8.5.6.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-websocket/8.5.6/6f6940a216b380ea8506530c374fcfeef820ba54/tomcat-embed-websocket-8.5.6.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/javax.validation/validation-api/1.1.0.Final/8613ae82954779d518631e05daa73a6a954817d5/validation-api-1.1.0.Final.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.jboss.logging/jboss-logging/3.3.0.Final/3616bb87707910296e2c195dc016287080bba5af/jboss-logging-3.3.0.Final.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/com.fasterxml/classmate/1.3.3/864c8e370a691e343210cc7c532fc198cee460d8/classmate-1.3.3.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aop/4.3.4.RELEASE/43f3d4a43a8dcc91137e092b981101332a645e4b/spring-aop-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-beans/4.3.4.RELEASE/4fbf4327d6c7f81c821f2d56e8695d394c7b930a/spring-beans-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-context/4.3.4.RELEASE/c8086505715fba4927fed3d7e3314692817413b6/spring-context-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-expression/4.3.4.RELEASE/5573955b5373669be0e352a1eb5dc9c87b069cb6/spring-expression-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-asn1-codec/0.9.15/b44ac305aec48cfa36fab90f5fb95ea2b3975d8f/shared-asn1-codec-0.9.15.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-kerberos-shared/1.5.5/c170e0e38d02eeb3b2b395b50d2d10707dfbc93c/apacheds-kerberos-shared-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core/1.5.5/3c9e6bcb3e2419866f80f963aaf35d65dd67d9e5/apacheds-core-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-bootstrap-partition/1.5.5/2f49deafcfb963b350347067b2d05cc6494762ec/apacheds-bootstrap-partition-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-protocol-shared/1.5.5/94cbc00d5cae1ad1607c146952354359d056565d/apacheds-protocol-shared-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/commons-lang/commons-lang/2.4/16313e02a793435009f1e458fa4af5d879f6fb11/commons-lang-2.4.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/commons-collections/commons-collections/3.2.2/8ad72fe39fa8c91eaaf12aadb21e0c3661fe26d5/commons-collections-3.2.2.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-asn1/0.9.15/c7bf2218d8e27f6d6642bd4ac12f7eae9b670592/shared-asn1-0.9.15.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-ldap-constants/0.9.15/cc5b734fa27dfdf97314b9aefa96853e0909ca04/shared-ldap-constants-0.9.15.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/antlr/antlr/2.7.7/83cd2cd674a217ade95a4bb83a8a14f351f48bd0/antlr-2.7.7.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-jdbc/1.4.2.RELEASE/706b5cd5996bd8c03248c3236e90e9d2d7c948db/spring-boot-starter-jdbc-1.4.2.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-rest-core/2.5.5.RELEASE/bb44731ae021286cd3ca109ad705faa2d31ec83e/spring-data-rest-core-2.5.5.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.slf4j/jcl-over-slf4j/1.7.21/331b564a3a42f002a0004b039c1c430da89062cd/jcl-over-slf4j-1.7.21.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.1.7/9865cf6994f9ff13fce0bf93f2054ef6c65bb462/logback-classic-1.1.7.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.slf4j/jul-to-slf4j/1.7.21/2f22c882ffa479d1e9ff4eb0e8e2c29f2a0871ed/jul-to-slf4j-1.7.21.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.slf4j/log4j-over-slf4j/1.7.21/b3700d97464d99bdcd42c0177d6e7951c94d75ff/log4j-over-slf4j-1.7.21.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.mina/mina-core/2.0.0-M6/1c5f4564ae6e5f5a7b4d6c5f780ef290c5cbc9d7/mina-core-2.0.0-M6.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-xdbm-search/1.5.5/e2202ccb15d5af49fd982daac289b8b12019e157/apacheds-xdbm-search-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-xdbm-tools/1.5.5/fc1bf57bf99956c1552359dc9aac6cf25994c3fe/apacheds-xdbm-tools-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-schema-bootstrap/1.5.5/a76586c4895dd8ff21b305485207023f491229a7/apacheds-schema-bootstrap-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-entry/1.5.5/f96af6676dba29782387711b636841fda0d04084/apacheds-core-entry-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-schema-registries/1.5.5/a175780bc8a76ad2c2516f2dec7cd90a6f240bcb/apacheds-schema-registries-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-shared/1.5.5/f28ab38ff1315d0b14ed747712ed452fbc7266f9/apacheds-core-shared-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-constants/1.5.5/475893bea4fe50b82f2b361755805d18327391e3/apacheds-core-constants-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-utils/1.5.5/fb86e70d68bf73d2fa2a4e464081ae60f2765b96/apacheds-utils-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-jdbm-store/1.5.5/41ad6fc032254cd40793a39bf1fe062a3aabd16f/apacheds-jdbm-store-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-xdbm-base/1.5.5/7564f8dc67d5b679526486d3011b062821aa4ccb/apacheds-xdbm-base-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-bootstrap-extract/1.5.5/39726f002259550f6f08534b0f4226d3a84582b6/apacheds-bootstrap-extract-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.shared/shared-cursor/0.9.15/61772611b63da7d5d9d2f0438c80ba55f0c00053/shared-cursor-0.9.15.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/bouncycastle/bcprov-jdk15/140/83933f3f3312473afbe42a232392b3feffaadc36/bcprov-jdk15-140.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-schema-extras/1.5.5/816d89b19b61251ad0983e4eb68c01c7f87dd281/apacheds-schema-extras-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat/tomcat-jdbc/8.5.6/feb10a9e22f70565c7556f327b0481dba8587bbc/tomcat-jdbc-8.5.6.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jdbc/4.3.4.RELEASE/42175d194cf6aa7c716c0887f30255e5c0a5262c/spring-jdbc-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework/spring-tx/4.3.4.RELEASE/303d00338193c04312426325121572d2fc1d4ec5/spring-tx-4.3.4.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.hateoas/spring-hateoas/0.20.0.RELEASE/623a5983010e905090f69e55f4e0a63fba195085/spring-hateoas-0.20.0.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-commons/1.12.5.RELEASE/29ed49845ecb804c140a8fea7bb4a524b0502135/spring-data-commons-1.12.5.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.plugin/spring-plugin-core/1.2.0.RELEASE/f380e7760032e7d929184f8ad8a33716b75c0657/spring-plugin-core-1.2.0.RELEASE.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.atteo/evo-inflector/1.2.1/b9cdd1e7dc20a222db0853dfb152ef349c7d0eed/evo-inflector-1.2.1.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-core/1.1.7/7873092d39ef741575ca91378a6a21c388363ac8/logback-core-1.1.7.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/1.4/a8762d07e76cfde2395257a5da47ba7c1dbd3dce/commons-io-1.4.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-jdbm/1.5.5/b2e563d45c7a4cdf840fd5d49428692e0b5b6955/apacheds-jdbm-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.directory.server/apacheds-core-avl/1.5.5/f11563fc86bfa8caaddc1b498288bb0fb767a060/apacheds-core-avl-1.5.5.jar, file:/home/dka/.gradle/caches/modules-2/files-2.1/org.apache.tomcat/tomcat-juli/8.5.6/83d2d1e3362ecca504f3bf8ed1bc4cc451754d24/tomcat-juli-8.5.6.jar, file:/opt/idea/lib/idea_rt.jar, file:/opt/idea/plugins/Groovy/lib/agent/gragent.jar]
2016-11-09 23:00:43.352 Disconnected from the target VM, address: '127.0.0.1:33351', transport: 'socket'
ERROR 18320 --- [           main] o.s.boot.SpringApplication               : Application startup failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'profileController' defined in URL [jar:file:/home/dka/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-rest-webmvc/2.5.5.RELEASE/f98626515362d785df923119f9f8149b7d490509/spring-data-rest-webmvc-2.5.5.RELEASE.jar!/org/springframework/data/rest/webmvc/ProfileController.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'resourceMappings' defined in class path resource [org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.rest.core.mapping.RepositoryResourceMappings]: Factory method 'resourceMappings' threw exception; nested exception is java.lang.IllegalArgumentException: PersistentEntity must not be null!
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:189) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1148) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:754) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
    at com.Application.main(Application.java:22) [main/:na]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'resourceMappings' defined in class path resource [org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.rest.core.mapping.RepositoryResourceMappings]: Factory method 'resourceMappings' threw exception; nested exception is java.lang.IllegalArgumentException: PersistentEntity must not be null!
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1022) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1131) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    ... 19 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.rest.core.mapping.RepositoryResourceMappings]: Factory method 'resourceMappings' threw exception; nested exception is java.lang.IllegalArgumentException: PersistentEntity must not be null!
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    ... 32 common frames omitted
Caused by: java.lang.IllegalArgumentException: PersistentEntity must not be null!
    at org.springframework.util.Assert.notNull(Assert.java:115) ~[spring-core-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.data.rest.core.mapping.RepositoryAwareResourceMetadata.<init>(RepositoryAwareResourceMetadata.java:52) ~[spring-data-rest-core-2.5.5.RELEASE.jar:na]
    at org.springframework.data.rest.core.mapping.RepositoryResourceMappings.populateCache(RepositoryResourceMappings.java:90) ~[spring-data-rest-core-2.5.5.RELEASE.jar:na]
    at org.springframework.data.rest.core.mapping.RepositoryResourceMappings.<init>(RepositoryResourceMappings.java:76) ~[spring-data-rest-core-2.5.5.RELEASE.jar:na]
    at org.springframework.data.rest.core.mapping.RepositoryResourceMappings.<init>(RepositoryResourceMappings.java:55) ~[spring-data-rest-core-2.5.5.RELEASE.jar:na]
    at org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration.resourceMappings(RepositoryRestMvcConfiguration.java:599) ~[spring-data-rest-webmvc-2.5.5.RELEASE.jar:na]
    at org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration$$EnhancerBySpringCGLIB$$e59efd09.CGLIB$resourceMappings$7(<generated>) ~[spring-data-rest-webmvc-2.5.5.RELEASE.jar:na]
    at org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration$$EnhancerBySpringCGLIB$$e59efd09$$FastClassBySpringCGLIB$$9faa9c1.invoke(<generated>) ~[spring-data-rest-webmvc-2.5.5.RELEASE.jar:na]
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) ~[spring-core-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:356) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration$$EnhancerBySpringCGLIB$$e59efd09.resourceMappings(<generated>) ~[spring-data-rest-webmvc-2.5.5.RELEASE.jar:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_66-internal]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_66-internal]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_66-internal]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_66-internal]
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    ... 33 common frames omitted

Process finished with exit code 1

I have debugged to that line in RepositoryAwareResourceMetadata:

Assert.notNull(entity, "PersistentEntity must not be null!");

I don't know why but when it loads, from RepositoryResourceMappings:

PersistentEntity<?, ?> entity = repositories.getPersistentEntity(type);

type is not empty and a valid domain, but this return null for entity.

public PersistentEntity<?, ?> getPersistentEntity() {

    if (mappingContext == null) {
        return null;
    }

    return mappingContext.getPersistentEntity(repositoryMetadata.getDomainType());
}

I have a mappingContext null.

I have found this related issue for another library that also has a PersistenEntity to null.

This seems to be related to the way the factory bean get instanciated.

kopax commented 7 years ago

I have created an issue on stackoverflow in order to find some help:

http://stackoverflow.com/questions/40512957/persistententity-must-not-be-null-how-to-use-factory-with-spring-data

jclagache commented 7 years ago

@kopax : please do not use Github issues like forum topics closing this issue as upgrading to spring boot 1.4.1.RELEASE is in progress (see #9)