精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2016-04-08
最后修改:2016-04-19
专家简介: 汪云飞,开源技术专家,现任职微璟技术CTO,拥有10年以上的JavaEE开发经验。对开源Java框架(Spring、Hibernate/JPA、Spring Boot)、开源GIS(GeoServer、OpenLayers),开源云计算解决方案(IaaS:ClouStack、OpenStack;PaaS:Apache Mesos、Deis、Docker)颇有研究。其撰写的技术博客被大量的阅读和转载。 专家博客:http://wiselyman.iteye.com/ 欢迎大家就JavaEE方面问题向 汪云飞ID: wiselyman提问。 欢迎大家在活动时间内在本贴集中提问,期间专家会认真进行答复 活动时间:2016-4-11~4-18 活动结束后将会抽取5名会员赠送《JavaEE开发的颠覆者:Spring Boot实战》一本 图书试读下载: JavaEE开发的颠覆者:Spring Boot实战 图书购买链接: JavaEE开发的颠覆者: Spring Boot实战 获奖名单:alexqdjay、string2020、atianlan、cywhoyi、java_web_hack1 请以上获奖用户与2016年4月25号之前,把具体的地址、电话信息私信给管理员,逾期作废。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2016-04-08
最后修改:2016-04-09
你好,最近用springboot碰到1个问题,想请教一下,谢谢。
spring-boot版本:1.3.3.RELEASE 我写了一个listener,想监听spring容器启动的事件 public final class ApplicationStartup implements ApplicationListener<ContextStartedEvent> { public void onApplicationEvent(ContextStartedEvent event) { System.out.println("system is started"); } } @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication application = new SpringApplication(Application.class); application.addListeners(new ApplicationStartup()); application.run(args); } } 我想在spring容器启动之后,最后执行onApplicationEvent里面的逻辑, 但是,实际上发现没有执行。请问,哪里有问题 |
|
返回顶楼 | |
发表时间:2016-04-09
最后修改:2016-04-09
string2020 写道 你好,最近用springboot碰到1个问题,想请教一下,谢谢。
spring-boot版本:1.3.3.RELEASE 我写了一个listener,想监听spring容器启动的事件 public final class ApplicationStartup implements ApplicationListener<ContextStartedEvent> { public void onApplicationEvent(ContextStartedEvent event) { System.out.println("system is started"); } } @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication application = new SpringApplication(Application.class); application.addListeners(new ApplicationStartup()); application.run(args); } } 我想在spring容器启动之后,最后执行onApplicationEvent里面的逻辑, 但是,实际上发现没有执行。请问,哪里有问题 ContextStartedEvent 只有在显示调用ConfigurableApplicationContext .start()才会publish,你这种情况应该使用ContextRefreshedEvent事件 |
|
返回顶楼 | |
发表时间:2016-04-09
|
|
返回顶楼 | |
发表时间:2016-04-10
怎么配合gradle打包并且结合ide譬如idea进行代码调试呢?
|
|
返回顶楼 | |
发表时间:2016-04-10
最后修改:2016-04-10
alexqdjay 写道 怎么配合gradle打包并且结合ide譬如idea进行代码调试呢?
gradle和maven很类似也是一种包管理的工具,算是maven用groovy语言封装的马甲,这个你可以专门找点资料看看,有maven基础学起来还是很简单的,书里使用的是maven。用IDEA代码调试与普通的Java程序的调试是一致的,这个特别要说的是spring boot完全是基于spring的普通java程序,没有使用代码生成之类的特殊技术,在代码调试上没有特别之处。 在使用各种方式建立spring boot项目时候都可以选择新建maven项目或者gradle项目。 |
|
返回顶楼 | |
发表时间:2016-04-10
wiselyman 写道 alexqdjay 写道 怎么配合gradle打包并且结合ide譬如idea进行代码调试呢?
gradle和maven很类似也是一种包管理的工具,算是maven用groovy语言封装的马甲,这个你可以专门找点资料看看,有maven基础学起来还是很简单的,书里使用的是maven。用IDEA代码调试与普通的Java程序的调试是一致的,这个特别要说的是spring boot完全是基于spring的普通java程序,没有使用代码生成之类的特殊技术,在代码调试上没有特别之处。 在使用各种方式建立spring boot项目时候都可以选择新建maven项目或者gradle项目。 是通过remote debug 进行调试么? |
|
返回顶楼 | |
发表时间:2016-04-10
最后修改:2016-04-10
alexqdjay 写道 wiselyman 写道 alexqdjay 写道 怎么配合gradle打包并且结合ide譬如idea进行代码调试呢?
gradle和maven很类似也是一种包管理的工具,算是maven用groovy语言封装的马甲,这个你可以专门找点资料看看,有maven基础学起来还是很简单的,书里使用的是maven。用IDEA代码调试与普通的Java程序的调试是一致的,这个特别要说的是spring boot完全是基于spring的普通java程序,没有使用代码生成之类的特殊技术,在代码调试上没有特别之处。 在使用各种方式建立spring boot项目时候都可以选择新建maven项目或者gradle项目。 是通过remote debug 进行调试么? 你平常用IDEA开发怎么调试,开发Spring Boot就怎么调试。你现在可以用IDEA建一个Spring Boot项目试一下。 |
|
返回顶楼 | |
发表时间:2016-04-11
spring boot 版本 1.3.3.RELEASE
该版本默认自带的tomcat的版本为:8.0.32 请问,如何在spring boot 项目里面配置这个tomct的最大线程数、最大连接数 |
|
返回顶楼 | |
发表时间:2016-04-11
最后修改:2016-04-11
string2020 写道 spring boot 版本 1.3.3.RELEASE
该版本默认自带的tomcat的版本为:8.0.32 请问,如何在spring boot 项目里面配置这个tomct的最大线程数、最大连接数 本书的试读样章有您提问的相关问题的解决方案。 Spring Boot关于tomcat的属性列表如下 server.tomcat.accesslog.directory=logs # Directory in which log files are created. Can be relative to the tomcat base dir or absolute. server.tomcat.accesslog.enabled=false # Enable access log. server.tomcat.accesslog.pattern=common # Format pattern for access logs. server.tomcat.accesslog.prefix=access_log # Log file name prefix. server.tomcat.accesslog.suffix=.log # Log file name suffix. server.tomcat.background-processor-delay=30 # Delay in seconds between the invocation of backgroundProcess methods. server.tomcat.basedir= # Tomcat base directory. If not specified a temporary directory will be used. server.tomcat.internal-proxies=10\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}|\\ 192\\.168\\.\\d{1,3}\\.\\d{1,3}|\\ 169\\.254\\.\\d{1,3}\\.\\d{1,3}|\\ 127\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}|\\ 172\\.1[6-9]{1}\\.\\d{1,3}\\.\\d{1,3}|\\ 172\\.2[0-9]{1}\\.\\d{1,3}\\.\\d{1,3}|\\ 172\\.3[0-1]{1}\\.\\d{1,3}\\.\\d{1,3} # regular expression matching trusted IP addresses. server.tomcat.max-http-header-size=0 # Maximum size in bytes of the HTTP message header. server.tomcat.max-threads=0 # Maximum amount of worker threads. server.tomcat.port-header=X-Forwarded-Port # Name of the HTTP header used to override the original port value. server.tomcat.protocol-header= # Header that holds the incoming protocol, usually named "X-Forwarded-Proto". server.tomcat.protocol-header-https-value=https # Value of the protocol header that indicates that the incoming request uses SSL. server.tomcat.remote-ip-header= # Name of the http header from which the remote ip is extracted. For instance `X-FORWARDED-FOR` server.tomcat.uri-encoding=UTF-8 # Character encoding to use to decode the URI 若都不能满足要求,可以定制: @Bean public EmbeddedServletContainerFactory servletContainer() { TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(); factory.setPort(8888); //1 factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"));//2 factory.setSessionTimeout(10, TimeUnit.MINUTES); //3 return factory; } |
|
返回顶楼 | |