当前位置: 首页 > 知识库问答 >
问题:

Cloud Foundry Spring启动应用程序中出现连接被拒绝错误

蔚丰
2023-03-14

我一直面临在枢轴云网络铸造中部署Spring启动应用程序的问题。我一直收到这个错误:

 2018-01-29T22:18:50.84-0500 [HEALTH/0] ERR Failed to make HTTP request to '/' on port 8080: connection refused
 2018-01-29T22:18:50.84-0500 [CELL/0] ERR Timed out after 15s: health check never passed.

波姆。xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.stargate.transferfund</groupId>
<artifactId>TransferFund</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>TransferFund</name>
<description>Demo project for Spring Boot</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <startClass>org.springframework.boot.SpringApplication</startClass>
    <maven.test.skip>true</maven.test.skip>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <!-- marked the embedded servlet container as provided -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <!-- JMS related dependencies -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-activemq</artifactId>
        <version>1.5.9.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-broker</artifactId>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
    </dependency>
</dependencies>

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

控制器类

@Controller
public class TestController {

@RequestMapping(value="/", method=RequestMethod.GET)
public ResponseEntity sayHello() {
    return new ResponseEntity("Hello world", HttpStatus.ACCEPTED);
}
}

应用程序

@SpringBootApplication
public class TransferFundApplication extends SpringBootServletInitializer {

public static void main(String[] args) {
    SpringApplication.run(TransferFundApplication.class, args);
}

/**
 * Used when run as WAR
 */
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    return builder.sources(TransferFundApplication.class);
}
}

显示yml

---
applications:
- name: target
  path: target/TransferFund-0.0.1-SNAPSHOT.jar
  health-check-type: http
  buildpack: https://github.com/cloudfoundry/java-buildpack.git

由于某些原因,似乎没有检测到端口8080。我已尝试将健康检查类型更改为进程和端口。当我将其更改为“处理”时,它会工作,但endpoint不再可访问。需要一些帮助来解决这个问题吗

共有1个答案

陆英毅
2023-03-14

请在添加执行器的以下依赖项后重试:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

还要将以下内容添加到清单中。yml:

health-check-http-endpoint: /info
health-check-type: http

我认为这应该解决问题。

 类似资料:
  • 我正在使用另一个容器中的DockerizeSpring启动应用程序和redis。 我使用docker comush在同一个网络中运行两个容器,这是我的docker-compose.yml: 这是我的application.yml文件: 我也尝试了redis hots=redis,但结果是一样的。 我的问题是,我得到这个java.net.连接异常:拒绝连接(拒绝连接)”,即使容器在同一个网络中。 我

  • 线程“main”org.springframework.web.client.resourceAccessException中的异常:“http://localhost:8081/footballershirt/footballershirts”的GET请求上的I/O错误:拒绝连接:连接;嵌套的异常是java.net.connectException:Connection:Connection a

  • 问题内容: 在Windows XP上运行的MySQL 5.1.31。 从 本地 MySQL服务器(192.168.233.142),我可以以root用户身份进行如下连接: 从 远程 计算机(192.168.233.163),我可以看到mysql端口已打开: 但是,当尝试从 远程 计算机连接到mysql时,我收到: 我在mysql.user中只有2个条目: 我还需要做些什么才能启用远程访问? 编辑

  • 问题内容: 我是Socket的新手,请原谅我完全不了解。 我有一个服务器脚本(server.py): 和客户端脚本(client.py): 我转到台式机终端并通过键入以下命令启动脚本: 之后,我进入笔记本电脑终端并启动客户端脚本: 但出现以下错误: 在第9行的文件“ client.py”中 s.connect((主机,端口)) 文件“ /usr/lib/python2.7/socket.py”,第

  • 问题内容: 我是 HBase 和 Hadoop的 新手。我已经完全设置了HBase并完美启动。现在,当我尝试使用Java客户端从 p1 连接到HBase(HBase安装在 p2上 )时,它抛出了一个奇怪的异常。 问题答案: 我找到了解决方案。 通过仅从我的 主机中 删除 localhost 条目。现在我的本地主机条目就像 192.169.19.50 [这是我的hbase IP] =本地主机,而不是

  • 问题内容: 我正在尝试实现TCP连接,从服务器端一切正常,但是当我运行客户端程序(从客户端计算机)时,出现以下错误: 我尝试更改套接字号以防万一,但无济于事,有谁知道导致此错误的原因和解决方法。 服务器代码: 客户代码: 问题答案: 此异常意味着你尝试连接的IP /端口上没有侦听服务: 你试图连接到错误的IP /主机或端口。 你尚未启动服务器。 你的服务器没有监听连接。 在Windows服务器上,