`

Spring Boot Remote Application

阅读更多

Spring Boot 1.4.2

Eclipse

////////////////////////////////////////////////////////////////////

Spring Boot支持远程代码更新和远程debug。

远程代码更新的意思是,在本地IDE修改代码,可以自动更新到服务器上,并且自动重启生效。就像在本地开发环境一样。

 

远程应用的实现有两个component,server component是run在服务器端,client component是run在本地。

要开启此功能,需要修改pom,重新打包,并把新包部署到服务器上。

 

 


<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludeDevtools>false</excludeDevtools> </configuration> </plugin> </plugins> </build>

并且在spring的启动配置文件application.properties中增加spring.devtools.remote.secret=xxx配置,启动应用后,server component就会开启。

Client component需要在Eclipse中启动。创建一个run configuration,main class为org.springframework.boot.devtools.RemoteSpringApplication,并把server的http://hostname:port(这里建议使用https)作为Program arugments。

RemoteSpringApplication启动以后,在本地修改代码,client端log会有类似如下内容,

2017-03-15 14:21:05.976  INFO 5317 --- [   File Watcher] o.s.b.d.r.c.ClassPathChangeUploader      : Uploaded 2 class resources
2017-03-15 14:21:25.751  INFO 5317 --- [pool-1-thread-1] o.s.b.d.r.c.DelayedLiveReloadTrigger     : Remote server has changed, triggering LiveReload

 服务器端会自动重启,并生效新代码。

 

 

远程debug,首先服务端启动时要增加-Xdebug -Xrunjdwp:server=y,transport=dt_socket,suspend=n JVM参数。

在Eclipse中创建一个debug configuration,在Remote Java Application中增加一个新的configuration,地址为localhost,端口为8000。

增加断点,访问服务端服务,断点就会触发。实际上是client component启动了8000端口,所以Remote Java Application中的地址为本机地址localhost,而并不是服务器端的地址。

 

 

 

分享到:
评论

相关推荐

    详解spring boot 使用application.properties 进行外部配置

    使用application.properties 进行外部配置的 Spring Boot 知识点详解 Spring Boot 框架提供了多种方式来进行外部配置,今天我们将详细讲解使用 application.properties 文件来进行外部配置的方法。application....

    Spring Boot开启debug模式

    - 打开IDEA,找到你的Spring Boot项目,右键点击`src/main/java`目录下的`Application`类,选择`Run 'Application'`或`Debug 'Application'`。首次运行会自动创建运行/调试配置。 - 或者,你可以在顶部菜单栏选择`...

    Spring Boot 系列教程 热部署-devtools模块

    3. **远程调试**:要在远程服务器上使用`devtools`,需要配置`spring-boot-devtools.remote.secret`,并开启`spring-boot-devtools.remote.auto-reconnect`。 **五、总结** Spring Boot的`devtools`模块极大地优化...

    spring-boot-reference.pdf

    11. Developing Your First Spring Boot Application 11.1. Creating the POM 11.2. Adding Classpath Dependencies 11.3. Writing the Code 11.3.1. The @RestController and @RequestMapping Annotations 11.3.2. ...

    Spring boot 配置参数一览.pdf

    - `spring.config.name`:应用程序配置文件的名称,默认值为'application'。 - `spring.config.location`:配置文件的位置。可以指定一个或多个文件路径,用逗号分隔。 - `spring.profiles.active`:定义要激活的...

    spring-boot-dubbo-demo

    2. **Spring Boot配置**:`application.properties`或`application.yml`文件中,会配置Spring Boot的相关属性,例如服务器端口、日志级别等,同时也可能包含了Dubbo的配置。 3. **Dubbo配置**:Dubbo的服务提供者和...

    Spring.Boot.in.Action.2015.12.pdf

    production application, Spring Boot in Action leaves no stone unturned. Indeed, for me, chapter 7's deep dive into the Actuator answered some of the lingering questions I've had in the back of my head...

    rpc-spring-boot-starter.rar

    它扩展了Spring Boot的自动配置功能,使得在Spring Boot的`application.properties`或`application.yml`中通过简单配置就能启用RPC服务。 3. **示例代码**:可能包含了一些简单的服务提供者和服务消费者示例,帮助...

    spring boot 使用 ConfigurationProperties.docx

    在Spring Boot中,`@ConfigurationProperties` 是一个强大的特性,用于将配置文件(如application.properties或application.yml)中的键值对映射到Java对象的属性上。这使得开发者能够更方便地管理和使用配置信息,...

    springboot远程调试(eclipse篇)

    5. **切换到 Debugger 标签页**,勾选 `Remote Java Application`,并填写远程调试的服务器地址和端口号(这里应为 `localhost:5005`)。 6. **点击 Apply** 保存配置,然后点击 Run 开始调试。 #### 三、调试过程 ...

    CVE-2022-22963 复现Demo

    CVE-2022-22963 复现Demo,A Spring MVC or Spring WebFlux application running on JDK 9+ may be vulnerable to remote code execution (RCE) via data binding. The specific exploit requires the application ...

    SpringBoot+Dubbo简单测试例子

    1. **引入依赖**:首先,需要在`pom.xml`文件中添加SpringBoot的父依赖和Dubbo的相关依赖,包括`spring-boot-starter`、`dubbo-spring-boot-starter`以及服务提供者和服务消费者的依赖。 2. **配置Dubbo**:在`...

    springboot学习思维笔记.xmind

    spring-boot-starter-remote-shell spring-boot-starter-amqp spring-boot-starter-aop spring-boot-starter-batch spring-boot-starter-cache spring-boot-starter-cloud-connectors...

    SpringBoot中配置为开发模式代码修改后不用重新运行示例源码

    并在本地应用中使用`spring-boot-devtools-remote`客户端连接远程服务。这样,当你本地修改代码并保存时,远程服务会接收到变更并自动重启。 3. **排除不希望热更新的模块**:有时你可能希望某些模块不参与热更新...

    springboot_mail.zip

    "springboot_mail.zip"压缩包提供了一个基于Spring Boot的邮件发送示例项目,包含两个主要部分:`mail_provider`和`mail_remote`。这个项目旨在帮助开发者理解如何在Spring Boot应用中集成和使用邮件服务。 首先,`...

    corda-rpc-springboot-client:使用Spring Boot的Corda RPC客户端

    在Spring Boot的配置文件(如`application.properties`或`application.yml`)中,我们需要设置RPC连接的参数,包括节点的主机地址、端口、用户名和密码。这些配置可以被Spring Boot读取,并用于初始化RPC客户端实例...

    spring-boot-sample-papertrail

    5. **配置属性**: 在Spring Boot应用中,可以通过环境变量或`application.properties`文件设置PaperTrail的主机名和端口。 ``` papertrail.host=your.papertrail.url papertrail.port=your_papertrail_port ```...

    Spring RMI

    在Spring Boot应用中,可以通过配置文件(application.properties或application.yml)设置RMI端口和服务,自动暴露RMI接口。 ### 7. 示例代码 创建远程接口: ```java public interface MyRemoteService extends ...

    automatic-spring-boot-client:从automatic.com拉取行程数据的Spring Boot webapp

    Spring Boot,spring-security-oauth2 从automatic.com 拉取行程数据 带有服务器端应用程序。 贡献! 如果您有关于如何改进这一点的想法,欢迎提出请求! 如果你能修复错误,那就更好了! 已知的问题 本地设置信息...

    spring-integration-sftp-spring-boot:展示使用Spring Integration Capabilities从一台远程SFTP服务器到另一台SFTP服务器的文件传输

    弹簧集成-sftp-spring-boot 展示使用Spring Integration Capabilities从一台远程SFTP服务器到另一台SFTP服务器的文件传输 使用Spring Boot 1.5.13的应用程序以及与spring-integration-sftp相关的maven依赖项 为了在...

Global site tag (gtag.js) - Google Analytics