젠킨스(Jenkins)의 상세 내용 입력 방식을 HTML로 변경

DevOps|2017. 5. 18. 19:30

젠킨스의 메인이나 작업(프로젝트) 페이지에는 상세 내용을 입력하는 기능이 있습니다.


기본 설정으로는 Plain text만 입력이 가능한데요. 링크 등을 제공하기 위해서 HTML을 사용하고 싶을 때가 있습니다.
이런 경우 설정 변경을 통해 HTML 입력이 가능합니다.


설정은 간단합니다. 의외의 장소에 있어서 찾기가 어렵긴 하지만요.
Jenkins 관리 → Configure Global Security 메뉴로 이동한 후 Markup Formatter 항목의 값을 Raw HTML로 변경하면 됩니다.




EOF

댓글()

젠키스(Jenkins)에 노드(node) 추가하기

DevOps|2017. 5. 16. 19:00

젠키스(Jenkins)에 노드(node) 추가하기

CI 서버(Jenkins)는 EC2 등의 퍼블릭 IP로 접근 가능한 외부에 있고 특정 작업(job)을 사내에서 수행하는 경우 보안 문제 때문에 사내망을 CI에서 접근하도록 허용하는 건 어렵습니다. 이런 경우에 대한 해결책으로 자바 웹스타트를 통해 사내에 젠킨스 노드를 추가 할 수 있습니다. 제 경우는 사내의 Windows 랩탑에서 GUITAR 테스트를 수행하기 위해서 이 방법을 택했습니다.

Jenkins 관리 → 노드 관리 → 신규 노드 메뉴를 이용해서 노드를 추가합니다.

노드명을 입력하고 Permanent Agent를 선택한 후 OK 버튼을 클릭합니다.

이어지는 화면에서 Remote root directory에는 c:\jenkins를 입력하고 Launch method는 Launch agent via Java Web Start를 선택합니다. 나머지 설정은 기본 값을 유지하고 저장합니다.

아직 새 노드와 연결이 안됐기 때문에 노드 목록에는 오프라인으로 나옵니다. 이제 연결을 해야 합니다.

사내망 안의 Windows 랩탑에서 위에서 생성한 노드 화면에 접속합니다. Launch 버튼을 클릭하면 jnlp 파일(slave-agent.jnlp)을 다운로드 혹은 바로 실행할 수 있습니다. 혹 보안 경고가 뜨더라도 무시하고 jnlp 파일을 실행하세요. Jenkins slave agent가 실행되고 젠킨스 서버에 접속 중이라는 내용이 나오다가 곧 Connected로 내용이 변경됩니다. 만약 접속이 안되면 접속 중인 젠킨스 서버의 포트를 확인하세요. 접속 중 화면에 나온 포트(42031)가 접속 가능한지 확인하면 됩니다.

JNLP 에이전트의 포트는 무작위로 할당됩니다. 포트 고정이 필요하면 Jenkins 관리 → Configure Global Security 메뉴에서 TCP port for JNLP agents를 Fixed로 변경하고 원하는 포트 번호를 넣으면 됩니다.

이제 노드 화면을 새로고침하면 JNLP로 연결된 것으로 내용이 변경된 것을 확인할 수 있습니다.

노드 관리 화면의 목록에도 새 노드의 정보가 나옵니다.

랩탑을 재부팅 했을 때에도 연결을 유지하려면 Jenkins slave agent의 File → Install as a service 메뉴를 이용해서 윈도 서비스로 등록하면 됩니다.


EOF

댓글()

Chrome DevTools - 네트워크 정보를 저장하고 나중에 보기

Developer Tools|2017. 5. 11. 22:52

웹 개발을 하다 보면 서버와의 통신을 기록하고 이를 나중에 참고해야 할 때가 있는데요. 이럴 때 유용한 기능이 Chrome DevTools에 있습니다.

Network 패널을 열고 통신을 기록한 행을 우클릭하면 "Save as HAR with content" 메뉴가 있습니다. 이를 클릭하면 HAR(HTTP Archive) 형식으로 패널 안의 전체 통신 내역을 저장할 수가 있습니다.


이렇게 저장한 HAR 파일은 크롬 확장인 HTTP Archive Viewer를 이용해서 나중에 다시 볼 수 있습니다. HTTP Acrhive Viewer의 Load 탭에서 HAR 파일을 열면 됩니다.

네트워크 패널의 활용법은 아래 링크를 참고하세요.

리소스 로드 시간 측정


EOF

댓글()

IntelliJ IDEA에서 Gradle 변경 반영하기

Developer Tools|2015. 5. 13. 19:56

IntelliJ IDEA에서 Gradle 변경 반영하기

IDEA에서 Gradle 프로젝트로 작업하다보면 dependencies 변경 같은 것이 반영이 안될 때가 있습니다.

라이브러리 버전을 바꾸던가 외부에서 git branch를 변경했다던가 등등의 이유인데요.

이럴 때는 Gradle tool window에 있는 새로고침 버튼을 클릭하면 됩니다.


참고 - Synchronizing Changes in Gradle Project and IntelliJ IDEA Project


EOF


댓글()

Spring Boot : auto-configuration 그리고 debug

Java|2015. 4. 17. 13:39

Spring Boot 애플리케이션의 auto-configuration 정보를 확인하거나 DEBUG 레벨의 로그를 확인하려면 아래와 같이 --debug-Ddebug 옵션을 주면 됩니다.

$ java -jar myapp.jar --debug

그리고 문서에서는 확인이 안되지만 applicaton.properties 파일에, 값 없이 debug 키를 선언해도 됩니다(debug: 혹은 debug=).

debug:
spring.datasource.url: jdbc:hsqldb:file:D:/tmp/hsqldb/scratchdb
spring.jpa.show-sql: true
spring.jpa.generate-ddl: true
spring.jpa.hibernate.ddl-auto: create

이렇게 debug 옵션을 주면 auto-configuration 정보와 사용 중인 framework, library 등의 DEBUG 레벨 로그를 확인할 수 있습니다.

아래는 --debug 옵션과 함께 Spring Data JPA 앱의 테스트케이스를 실행했을 때의 콘솔 로그입니다.

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v1.3.0.BUILD-SNAPSHOT)

2015-04-17 13:17:28.927  INFO 5124 --- [           main] c.i.rt.execution.junit.JUnitStarter      : Starting JUnitStarter on envy-i7 with PID 5124 (started by kyutae.park in D:\dev\repos\spring-boot-data-jpa-javaworld)
2015-04-17 13:17:28.928 DEBUG 5124 --- [           main] o.s.boot.SpringApplication               : Loading source class sample.data.jpa.SampleDataJpaApplication
2015-04-17 13:17:29.243 DEBUG 5124 --- [           main] o.s.b.c.c.ConfigFileApplicationListener  : Skipped config file 'file:./config/application.yaml' resource not found

    ..............
    .... 중략 ....
    ..............

Hibernate: alter table tb_person_02837_cars add constraint FK_enugsq5f3484moat7h2ggrf1a foreign key (tb_person_02837_id) references tb_person_02837
2015-04-17 13:17:43.191  INFO 5124 --- [           main] org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000230: Schema export complete
2015-04-17 13:17:45.352 DEBUG 5124 --- [           main] utoConfigurationReportLoggingInitializer : 


=========================
AUTO-CONFIGURATION REPORT
=========================


Positive matches:
-----------------

   AopAutoConfiguration
      - @ConditionalOnClass classes found: org.springframework.context.annotation.EnableAspectJAutoProxy,org.aspectj.lang.annotation.Aspect,org.aspectj.lang.reflect.Advice (OnClassCondition)
      - matched (OnPropertyCondition)

   AopAutoConfiguration.JdkDynamicAutoProxyConfiguration
      - matched (OnPropertyCondition)

   DataSourceAutoConfiguration
      - @ConditionalOnClass classes found: javax.sql.DataSource,org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType (OnClassCondition)

   DataSourceAutoConfiguration.DataSourceInitializerConfiguration
      - @ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.jdbc.DataSourceInitializer; SearchStrategy: all) found no beans (OnBeanCondition)

   DataSourceAutoConfiguration.JdbcTemplateConfiguration
      - existing auto database detected (DataSourceAutoConfiguration.DataSourceAvailableCondition)

   DataSourceAutoConfiguration.JdbcTemplateConfiguration#jdbcTemplate
      - @ConditionalOnMissingBean (types: org.springframework.jdbc.core.JdbcOperations; SearchStrategy: all) found no beans (OnBeanCondition)

   DataSourceAutoConfiguration.JdbcTemplateConfiguration#namedParameterJdbcTemplate
      - @ConditionalOnMissingBean (types: org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations; SearchStrategy: all) found no beans (OnBeanCondition)

   DataSourceAutoConfiguration.NonEmbeddedConfiguration
      - supported DataSource class found (DataSourceAutoConfiguration.NonEmbeddedDataSourceCondition)
      - @ConditionalOnMissingBean (types: javax.sql.DataSource,javax.sql.XADataSource; SearchStrategy: all) found no beans (OnBeanCondition)

   DataSourcePoolMetadataProvidersConfiguration.TomcatDataSourcePoolMetadataProviderConfiguration
      - @ConditionalOnClass classes found: org.apache.tomcat.jdbc.pool.DataSource (OnClassCondition)

   DataSourceTransactionManagerAutoConfiguration
      - @ConditionalOnClass classes found: org.springframework.jdbc.core.JdbcTemplate,org.springframework.transaction.PlatformTransactionManager (OnClassCondition)

   DataSourceTransactionManagerAutoConfiguration.TransactionManagementConfiguration
      - @ConditionalOnMissingBean (types: org.springframework.transaction.annotation.AbstractTransactionManagementConfiguration; SearchStrategy: all) found no beans (OnBeanCondition)

   GenericCacheConfiguration
      - Automatic cache type (CacheCondition)

   HibernateJpaAutoConfiguration
      - @ConditionalOnClass classes found: org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean,org.springframework.transaction.annotation.EnableTransactionManagement,javax.persistence.EntityManager (OnClassCondition)
      - found HibernateEntityManager class (HibernateJpaAutoConfiguration.HibernateEntityManagerCondition)

   HttpEncodingAutoConfiguration
      - @ConditionalOnClass classes found: org.springframework.web.filter.CharacterEncodingFilter (OnClassCondition)
      - matched (OnPropertyCondition)

   HttpEncodingAutoConfiguration#characterEncodingFilter
      - @ConditionalOnMissingBean (types: org.springframework.web.filter.CharacterEncodingFilter; SearchStrategy: all) found no beans (OnBeanCondition)

   HttpMessageConvertersAutoConfiguration
      - @ConditionalOnClass classes found: org.springframework.http.converter.HttpMessageConverter (OnClassCondition)

   HttpMessageConvertersAutoConfiguration#messageConverters
      - @ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.HttpMessageConverters; SearchStrategy: all) found no beans (OnBeanCondition)

   HttpMessageConvertersAutoConfiguration.StringHttpMessageConverterConfiguration
      - @ConditionalOnClass classes found: org.springframework.http.converter.StringHttpMessageConverter (OnClassCondition)

   HttpMessageConvertersAutoConfiguration.StringHttpMessageConverterConfiguration#stringHttpMessageConverter
      - @ConditionalOnMissingBean (types: org.springframework.http.converter.StringHttpMessageConverter; SearchStrategy: all) found no beans (OnBeanCondition)

   JacksonAutoConfiguration
      - @ConditionalOnClass classes found: com.fasterxml.jackson.databind.ObjectMapper (OnClassCondition)

   JacksonAutoConfiguration.JacksonObjectMapperBuilderConfiguration
      - @ConditionalOnClass classes found: com.fasterxml.jackson.databind.ObjectMapper,org.springframework.http.converter.json.Jackson2ObjectMapperBuilder (OnClassCondition)

   JacksonAutoConfiguration.JacksonObjectMapperBuilderConfiguration#jacksonObjectMapperBuilder
      - @ConditionalOnMissingBean (types: org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; SearchStrategy: all) found no beans (OnBeanCondition)

   JacksonAutoConfiguration.JacksonObjectMapperConfiguration
      - @ConditionalOnClass classes found: com.fasterxml.jackson.databind.ObjectMapper,org.springframework.http.converter.json.Jackson2ObjectMapperBuilder (OnClassCondition)

   JacksonAutoConfiguration.JacksonObjectMapperConfiguration#jacksonObjectMapper
      - @ConditionalOnMissingBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) found no beans (OnBeanCondition)

   JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration
      - @ConditionalOnClass classes found: com.fasterxml.jackson.databind.ObjectMapper (OnClassCondition)
      - matched (OnPropertyCondition)
      - @ConditionalOnBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) found the following [jacksonObjectMapper] (OnBeanCondition)

   JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration#mappingJackson2HttpMessageConverter
      - @ConditionalOnMissingBean (types: org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; SearchStrategy: all) found no beans (OnBeanCondition)

   JpaBaseConfiguration#entityManagerFactory
      - @ConditionalOnMissingBean (types: org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; SearchStrategy: all) found no beans (OnBeanCondition)

   JpaBaseConfiguration#entityManagerFactoryBuilder
      - @ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.orm.jpa.EntityManagerFactoryBuilder; SearchStrategy: all) found no beans (OnBeanCondition)

   JpaBaseConfiguration#jpaVendorAdapter
      - @ConditionalOnMissingBean (types: org.springframework.orm.jpa.JpaVendorAdapter; SearchStrategy: all) found no beans (OnBeanCondition)

   JpaBaseConfiguration#transactionManager
      - @ConditionalOnMissingBean (types: org.springframework.transaction.PlatformTransactionManager; SearchStrategy: all) found no beans (OnBeanCondition)

   JtaAutoConfiguration
      - @ConditionalOnClass classes found: javax.transaction.Transaction (OnClassCondition)
      - matched (OnPropertyCondition)

   MultipartAutoConfiguration
      - @ConditionalOnClass classes found: javax.servlet.Servlet,org.springframework.web.multipart.support.StandardServletMultipartResolver,javax.servlet.MultipartConfigElement (OnClassCondition)
      - matched (OnPropertyCondition)

   MultipartAutoConfiguration#multipartConfigElement
      - @ConditionalOnMissingBean (types: javax.servlet.MultipartConfigElement; SearchStrategy: all) found no beans (OnBeanCondition)

   MultipartAutoConfiguration#multipartResolver
      - @ConditionalOnMissingBean (types: org.springframework.web.multipart.MultipartResolver; SearchStrategy: all) found no beans (OnBeanCondition)

   NoOpCacheConfiguration
      - Automatic cache type (CacheCondition)

   PersistenceExceptionTranslationAutoConfiguration
      - @ConditionalOnClass classes found: org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor (OnClassCondition)

   PersistenceExceptionTranslationAutoConfiguration#persistenceExceptionTranslationPostProcessor
      - @ConditionalOnMissingBean (types: org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor; SearchStrategy: all) found no beans (OnBeanCondition)
      - matched (OnPropertyCondition)

   PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer
      - @ConditionalOnMissingBean (types: org.springframework.context.support.PropertySourcesPlaceholderConfigurer; SearchStrategy: current) found no beans (OnBeanCondition)

   RedisCacheConfiguration
      - Automatic cache type (CacheCondition)

   SimpleCacheConfiguration
      - Automatic cache type (CacheCondition)

   TransactionAutoConfiguration
      - @ConditionalOnClass classes found: org.springframework.transaction.support.TransactionTemplate,org.springframework.transaction.PlatformTransactionManager (OnClassCondition)
      - @ConditionalOnSingleCandidate (types: org.springframework.transaction.PlatformTransactionManager; SearchStrategy: all) found a primary candidate amongst the following [transactionManager] (OnBeanCondition)

   TransactionAutoConfiguration#transactionTemplate
      - @ConditionalOnMissingBean (types: org.springframework.transaction.support.TransactionTemplate; SearchStrategy: all) found no beans (OnBeanCondition)

   WebSocketAutoConfiguration
      - @ConditionalOnClass classes found: javax.servlet.Servlet,javax.websocket.server.ServerContainer (OnClassCondition)

   WebSocketAutoConfiguration.TomcatWebSocketConfiguration
      - @ConditionalOnClass classes found: org.apache.catalina.startup.Tomcat,org.apache.tomcat.websocket.server.WsSci (OnClassCondition)

   WebSocketAutoConfiguration.TomcatWebSocketConfiguration#websocketContainerCustomizer
      - @ConditionalOnMissingBean (names: websocketContainerCustomizer; SearchStrategy: all) found no beans (OnBeanCondition)


Negative matches:
-----------------

   ActiveMQAutoConfiguration
      - required @ConditionalOnClass classes not found: javax.jms.ConnectionFactory,org.apache.activemq.ActiveMQConnectionFactory (OnClassCondition)

   AopAutoConfiguration.CglibAutoProxyConfiguration
      - @ConditionalOnProperty missing required properties spring.aop.proxy-target-class  (OnPropertyCondition)

   AtomikosJtaConfiguration
      - required @ConditionalOnClass classes not found: com.atomikos.icatch.jta.UserTransactionManager (OnClassCondition)

   BatchAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.batch.core.launch.JobLauncher (OnClassCondition)

   BitronixJtaConfiguration
      - required @ConditionalOnClass classes not found: bitronix.tm.jndi.BitronixContext (OnClassCondition)

   CacheAutoConfiguration
      - @ConditionalOnClass classes found: org.springframework.cache.CacheManager (OnClassCondition)
      - @ConditionalOnBean (types: org.springframework.cache.interceptor.CacheAspectSupport; SearchStrategy: all) found no beans (OnBeanCondition)

   CloudAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.cloud.config.java.CloudScanConfiguration (OnClassCondition)

   DataSourceAutoConfiguration.EmbeddedConfiguration
      - existing non-embedded database detected (DataSourceAutoConfiguration.EmbeddedDataSourceCondition)

   DataSourceAutoConfiguration.TomcatDataSourceJmxConfiguration
      - @ConditionalOnClass classes found: org.apache.tomcat.jdbc.pool.DataSourceProxy (OnClassCondition)
      - existing auto database detected (DataSourceAutoConfiguration.DataSourceAvailableCondition)
      - @ConditionalOnProperty missing required properties spring.datasource.jmx-enabled  (OnPropertyCondition)

   DataSourcePoolMetadataProvidersConfiguration.CommonsDbcpPoolDataSourceMetadataProviderConfiguration
      - required @ConditionalOnClass classes not found: org.apache.commons.dbcp.BasicDataSource (OnClassCondition)

   DataSourcePoolMetadataProvidersConfiguration.HikariPoolDataSourceMetadataProviderConfiguration
      - required @ConditionalOnClass classes not found: com.zaxxer.hikari.HikariDataSource (OnClassCondition)

   DataSourceTransactionManagerAutoConfiguration#transactionManager
      - @ConditionalOnMissingBean (names: transactionManager; SearchStrategy: all) found the following [transactionManager] (OnBeanCondition)

   DeviceDelegatingViewResolverAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.mobile.device.view.LiteDeviceDelegatingViewResolver (OnClassCondition)

   DeviceResolverAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.mobile.device.DeviceResolverHandlerInterceptor,org.springframework.mobile.device.DeviceHandlerMethodArgumentResolver (OnClassCondition)

   DispatcherServletAutoConfiguration
      - @ConditionalOnClass classes found: org.springframework.web.servlet.DispatcherServlet (OnClassCondition)
      - not a web application (OnWebApplicationCondition)

   EhCacheCacheConfiguration
      - required @ConditionalOnClass classes not found: net.sf.ehcache.Cache,org.springframework.cache.ehcache.EhCacheCacheManager (OnClassCondition)

   ElasticsearchAutoConfiguration
      - required @ConditionalOnClass classes not found: org.elasticsearch.client.Client,org.springframework.data.elasticsearch.client.TransportClientFactoryBean,org.springframework.data.elasticsearch.client.NodeClientFactoryBean (OnClassCondition)

   ElasticsearchDataAutoConfiguration
      - required @ConditionalOnClass classes not found: org.elasticsearch.client.Client,org.springframework.data.elasticsearch.core.ElasticsearchTemplate (OnClassCondition)

   ElasticsearchRepositoriesAutoConfiguration
      - required @ConditionalOnClass classes not found: org.elasticsearch.client.Client,org.springframework.data.elasticsearch.repository.ElasticsearchRepository (OnClassCondition)

   EmbeddedServletContainerAutoConfiguration
      - not a web application (OnWebApplicationCondition)

   ErrorMvcAutoConfiguration
      - @ConditionalOnClass classes found: javax.servlet.Servlet,org.springframework.web.servlet.DispatcherServlet (OnClassCondition)
      - not a web application (OnWebApplicationCondition)

   FacebookAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.social.config.annotation.SocialConfigurerAdapter,org.springframework.social.facebook.connect.FacebookConnectionFactory (OnClassCondition)

   FallbackWebSecurityAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.security.config.annotation.web.configuration.EnableWebSecurity (OnClassCondition)

   FlywayAutoConfiguration
      - required @ConditionalOnClass classes not found: org.flywaydb.core.Flyway (OnClassCondition)

   FreeMarkerAutoConfiguration
      - required @ConditionalOnClass classes not found: freemarker.template.Configuration,org.springframework.ui.freemarker.FreeMarkerConfigurationFactory (OnClassCondition)

   GroovyTemplateAutoConfiguration
      - required @ConditionalOnClass classes not found: groovy.text.markup.MarkupTemplateEngine (OnClassCondition)

   GsonAutoConfiguration
      - required @ConditionalOnClass classes not found: com.google.gson.Gson (OnClassCondition)

   GsonHttpMessageConvertersConfiguration
      - required @ConditionalOnClass classes not found: com.google.gson.Gson (OnClassCondition)

   GuavaCacheConfiguration
      - required @ConditionalOnClass classes not found: com.google.common.cache.CacheBuilder,org.springframework.cache.guava.GuavaCacheManager (OnClassCondition)

   GzipFilterAutoConfiguration
      - required @ConditionalOnClass classes not found: org.eclipse.jetty.servlets.GzipFilter (OnClassCondition)

   HazelcastCacheConfiguration
      - required @ConditionalOnClass classes not found: com.hazelcast.core.HazelcastInstance,com.hazelcast.spring.cache.HazelcastCacheManager (OnClassCondition)

   HornetQAutoConfiguration
      - required @ConditionalOnClass classes not found: javax.jms.ConnectionFactory,org.hornetq.api.jms.HornetQJMSClient (OnClassCondition)

   HypermediaAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.hateoas.Resource,org.springframework.plugin.core.Plugin (OnClassCondition)

   IntegrationAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.integration.config.EnableIntegration (OnClassCondition)

   JCacheCacheConfiguration
      - required @ConditionalOnClass classes not found: javax.cache.Caching,org.springframework.cache.jcache.JCacheCacheManager (OnClassCondition)

   JacksonAutoConfiguration.JodaDateTimeJacksonConfiguration
      - required @ConditionalOnClass classes not found: org.joda.time.DateTime,com.fasterxml.jackson.datatype.joda.ser.DateTimeSerializer,com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat (OnClassCondition)

   JacksonHttpMessageConvertersConfiguration.MappingJackson2XmlHttpMessageConverterConfiguration
      - required @ConditionalOnClass classes not found: com.fasterxml.jackson.dataformat.xml.XmlMapper (OnClassCondition)

   JerseyAutoConfiguration
      - required @ConditionalOnClass classes not found: org.glassfish.jersey.server.spring.SpringComponentProvider (OnClassCondition)

   JmsAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.jms.core.JmsTemplate (OnClassCondition)

   JmxAutoConfiguration
      - @ConditionalOnClass classes found: org.springframework.jmx.export.MBeanExporter (OnClassCondition)
      - @ConditionalOnProperty expected 'true' for properties spring.jmx.enabled (OnPropertyCondition)

   JndiConnectionFactoryAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.jms.core.JmsTemplate (OnClassCondition)

   JndiDataSourceAutoConfiguration
      - @ConditionalOnClass classes found: javax.sql.DataSource,org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType (OnClassCondition)
      - @ConditionalOnProperty missing required properties spring.datasource.jndi-name  (OnPropertyCondition)

   JndiJtaConfiguration
      - @ConditionalOnClass classes found: org.springframework.transaction.jta.JtaTransactionManager (OnClassCondition)
      - JNDI environment is not available (OnJndiCondition)

   JpaBaseConfiguration.JpaWebConfiguration
      - @ConditionalOnClass classes found: org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter (OnClassCondition)
      - not a web application (OnWebApplicationCondition)

   JpaRepositoriesAutoConfiguration
      - @ConditionalOnClass classes found: org.springframework.data.jpa.repository.JpaRepository (OnClassCondition)
      - matched (OnPropertyCondition)
      - @ConditionalOnMissingBean (types: org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean,org.springframework.data.jpa.repository.config.JpaRepositoryConfigExtension; SearchStrategy: all) found the following [&personRepository, &reviewRepository, &cityRepository, &hotelRepository, &carRepository, org.springframework.data.jpa.repository.config.JpaRepositoryConfigExtension#0] (OnBeanCondition)

   LinkedInAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.social.config.annotation.SocialConfigurerAdapter,org.springframework.social.linkedin.connect.LinkedInConnectionFactory (OnClassCondition)

   LiquibaseAutoConfiguration
      - required @ConditionalOnClass classes not found: liquibase.integration.spring.SpringLiquibase (OnClassCondition)

   MailSenderAutoConfiguration
      - required @ConditionalOnClass classes not found: javax.mail.internet.MimeMessage (OnClassCondition)

   MessageSourceAutoConfiguration
      - No bundle found for spring.messages.basename: messages (MessageSourceAutoConfiguration.ResourceBundleCondition)

   MongoAutoConfiguration
      - required @ConditionalOnClass classes not found: com.mongodb.Mongo (OnClassCondition)

   MongoDataAutoConfiguration
      - required @ConditionalOnClass classes not found: com.mongodb.Mongo,org.springframework.data.mongodb.core.MongoTemplate (OnClassCondition)

   MongoRepositoriesAutoConfiguration
      - required @ConditionalOnClass classes not found: com.mongodb.Mongo,org.springframework.data.mongodb.repository.MongoRepository (OnClassCondition)

   MustacheAutoConfiguration
      - required @ConditionalOnClass classes not found: com.samskivert.mustache.Mustache (OnClassCondition)

   RabbitAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.amqp.rabbit.core.RabbitTemplate,com.rabbitmq.client.Channel (OnClassCondition)

   ReactorAutoConfiguration
      - required @ConditionalOnClass classes not found: reactor.spring.context.config.EnableReactor,reactor.core.Environment (OnClassCondition)

   RedisAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.data.redis.connection.jedis.JedisConnection,org.springframework.data.redis.core.RedisOperations,redis.clients.jedis.Jedis (OnClassCondition)

   RepositoryRestMvcAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration (OnClassCondition)

   SecurityAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.security.authentication.AuthenticationManager,org.springframework.security.config.annotation.authentication.configurers.GlobalAuthenticationConfigurerAdapter (OnClassCondition)

   SendGridAutoConfiguration
      - required @ConditionalOnClass classes not found: com.sendgrid.SendGrid (OnClassCondition)

   ServerPropertiesAutoConfiguration
      - not a web application (OnWebApplicationCondition)

   SitePreferenceAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.mobile.device.site.SitePreferenceHandlerInterceptor,org.springframework.mobile.device.site.SitePreferenceHandlerMethodArgumentResolver (OnClassCondition)

   SocialWebAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.social.connect.web.ConnectController,org.springframework.social.config.annotation.SocialConfigurerAdapter (OnClassCondition)

   SolrAutoConfiguration
      - required @ConditionalOnClass classes not found: org.apache.solr.client.solrj.impl.HttpSolrServer,org.apache.solr.client.solrj.impl.CloudSolrServer (OnClassCondition)

   SolrRepositoriesAutoConfiguration
      - required @ConditionalOnClass classes not found: org.apache.solr.client.solrj.SolrServer,org.springframework.data.solr.repository.SolrRepository (OnClassCondition)

   SpringDataWebAutoConfiguration
      - @ConditionalOnClass classes found: org.springframework.data.web.PageableHandlerMethodArgumentResolver,org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter (OnClassCondition)
      - not a web application (OnWebApplicationCondition)

   ThymeleafAutoConfiguration
      - required @ConditionalOnClass classes not found: org.thymeleaf.spring4.SpringTemplateEngine (OnClassCondition)

   TwitterAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.social.config.annotation.SocialConfigurerAdapter,org.springframework.social.twitter.connect.TwitterConnectionFactory (OnClassCondition)

   VelocityAutoConfiguration
      - required @ConditionalOnClass classes not found: org.apache.velocity.app.VelocityEngine,org.springframework.ui.velocity.VelocityEngineFactory (OnClassCondition)

   WebMvcAutoConfiguration
      - @ConditionalOnClass classes found: javax.servlet.Servlet,org.springframework.web.servlet.DispatcherServlet,org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter (OnClassCondition)
      - not a web application (OnWebApplicationCondition)

   WebSocketAutoConfiguration.JettyWebSocketConfiguration
      - required @ConditionalOnClass classes not found: org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer (OnClassCondition)

   WebSocketAutoConfiguration.UndertowWebSocketConfiguration
      - required @ConditionalOnClass classes not found: io.undertow.websockets.jsr.Bootstrap (OnClassCondition)

   XADataSourceAutoConfiguration
      - @ConditionalOnClass classes found: javax.sql.DataSource,javax.transaction.TransactionManager,org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType (OnClassCondition)
      - @ConditionalOnBean (types: org.springframework.boot.jta.XADataSourceWrapper; SearchStrategy: all) found no beans (OnBeanCondition)


Exclusions:
-----------

    None



2015-04-17 13:17:45.388  INFO 5124 --- [           main] c.i.rt.execution.junit.JUnitStarter      : Started JUnitStarter in 23.914 seconds (JVM running for 45.382)
2015-04-17 13:17:45.461 DEBUG 5124 --- [           main] org.hibernate.SQL                        : select count(city0_.id) as col_0_0_ from city city0_
Hibernate: select count(city0_.id) as col_0_0_ from city city0_
2015-04-17 13:17:45.468 DEBUG 5124 --- [           main] org.hibernate.SQL                        : select city0_.id as id1_0_, city0_.country as country2_0_, city0_.map as map3_0_, city0_.name as name4_0_, city0_.state as state5_0_ from city city0_ order by city0_.name asc limit ?
Hibernate: select city0_.id as id1_0_, city0_.country as country2_0_, city0_.map as map3_0_, city0_.name as name4_0_, city0_.state as state5_0_ from city city0_ order by city0_.name asc limit ?
2015-04-17 13:17:45.490 DEBUG 5124 --- [           main] org.hibernate.SQL                        : select count(hotel0_.id) as col_0_0_ from hotel hotel0_ left outer join review reviews1_ on hotel0_.id=reviews1_.hotel_id where hotel0_.city_id=? group by hotel0_.id
Hibernate: select count(hotel0_.id) as col_0_0_ from hotel hotel0_ left outer join review reviews1_ on hotel0_.id=reviews1_.hotel_id where hotel0_.city_id=? group by hotel0_.id
2015-04-17 13:17:45.502 DEBUG 5124 --- [           main] org.hibernate.SQL                        : select hotel0_.city_id as col_0_0_, hotel0_.name as col_1_0_, avg(cast(reviews1_.rating as double)) as col_2_0_ from hotel hotel0_ left outer join review reviews1_ on hotel0_.id=reviews1_.hotel_id inner join city city2_ on hotel0_.city_id=city2_.id where hotel0_.city_id=? group by hotel0_.id order by hotel0_.name asc limit ?
Hibernate: select hotel0_.city_id as col_0_0_, hotel0_.name as col_1_0_, avg(cast(reviews1_.rating as double)) as col_2_0_ from hotel hotel0_ left outer join review reviews1_ on hotel0_.id=reviews1_.hotel_id inner join city city2_ on hotel0_.city_id=city2_.id where hotel0_.city_id=? group by hotel0_.id order by hotel0_.name asc limit ?
2015-04-17 13:17:45.515 DEBUG 5124 --- [           main] org.hibernate.SQL                        : select city0_.id as id1_0_0_, city0_.country as country2_0_0_, city0_.map as map3_0_0_, city0_.name as name4_0_0_, city0_.state as state5_0_0_ from city city0_ where city0_.id=?
Hibernate: select city0_.id as id1_0_0_, city0_.country as country2_0_0_, city0_.map as map3_0_0_, city0_.name as name4_0_0_, city0_.state as state5_0_0_ from city city0_ where city0_.id=?
2015-04-17 13:17:45.520  WARN 5124 --- [           main] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Warning Code: -1003, SQLState: 01003
2015-04-17 13:17:45.520  WARN 5124 --- [           main] o.h.engine.jdbc.spi.SqlExceptionHelper   : warning: null value eliminated in set function
2015-04-17 13:17:45.528 DEBUG 5124 --- [           main] org.hibernate.SQL                        : select hotel0_.id as id1_1_, hotel0_.address as address2_1_, hotel0_.city_id as city_id5_1_, hotel0_.name as name3_1_, hotel0_.zip as zip4_1_ from hotel hotel0_ where hotel0_.city_id=? and hotel0_.name=?
Hibernate: select hotel0_.id as id1_1_, hotel0_.address as address2_1_, hotel0_.city_id as city_id5_1_, hotel0_.name as name3_1_, hotel0_.zip as zip4_1_ from hotel hotel0_ where hotel0_.city_id=? and hotel0_.name=?
2015-04-17 13:17:45.530 DEBUG 5124 --- [           main] org.hibernate.SQL                        : select city0_.id as id1_0_0_, city0_.country as country2_0_0_, city0_.map as map3_0_0_, city0_.name as name4_0_0_, city0_.state as state5_0_0_ from city city0_ where city0_.id=?
Hibernate: select city0_.id as id1_0_0_, city0_.country as country2_0_0_, city0_.map as map3_0_0_, city0_.name as name4_0_0_, city0_.state as state5_0_0_ from city city0_ where city0_.id=?
2015-04-17 13:17:45.537 DEBUG 5124 --- [           main] org.hibernate.SQL                        : select review0_.rating as col_0_0_, count(review0_.id) as col_1_0_ from review review0_ where review0_.hotel_id=? group by review0_.rating order by review0_.rating DESC
Hibernate: select review0_.rating as col_0_0_, count(review0_.id) as col_1_0_ from review review0_ where review0_.hotel_id=? group by review0_.rating order by review0_.rating DESC
2015-04-17 13:17:45.543  INFO 5124 --- [       Thread-1] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@7050ad86: startup date [Fri Apr 17 13:17:29 GMT+09:00 2015]; root of context hierarchy
2015-04-17 13:17:45.548  INFO 5124 --- [       Thread-1] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'

Process finished with exit code 0

조금 길지만 auto-configuration에 관한 내용을 찬찬히 읽어 보면 어떻게 앱이 자동 설정되었는지 확인할 수 있습니다.

EOF

댓글()