首页 文章

使用Netflix Eureka的JSONException

提问于
浏览
2

我对Netflix Eureka和SpringBoot很新 . 我 Build 了一个非常简单的Eureka服务器和客户端,以便了解他们如何获得发现 . Eureka服务器正常加载,因为我在访问localhost时会看到UI:8761 /

我正在使用Eclipse的Tomcat运行这两个实例 .

我构建的Eureka客户端没有代码,因为它只运行SpringBoot应用程序,并带有正确的注释 . 关于Eureka服务器的相同内容 .

当我运行客户端时,在运行服务器之后,我得到以下堆栈 . 我跑过网络得到一些解释,但我没有找到任何解释 . 你知道造成这些JSONObject异常的原因吗?

服务器端堆栈:http://pastebin.ca/2968955

客户端堆栈:http://pastebin.ca/2968957

这是我的代码:

EurekaServer.java:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class EurekaServer {
		public static void main( String[] args ) {
    	    SpringApplication.run(EurekaServer.class, args);
    }
}

EurekaServer的application.yml:

spring:
  application:
    name: EurekaServer

server:
  port: 8761

eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    festRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

EurekaClientApp.java:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@EnableEurekaClient
@RestController
public class EurekaClientApp {
	public static void main(String[] args) {
		SpringApplication.run(EurekaClientApp.class, args);
	}
}

EurekaClient的Application.yml:

spring:
  application:
    name: EurekaClient
    
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
    registerWithEureka: true
    fetchRegistry: false
  instance:
    leaseRenewalIntervalInSeconds: 10
    metadataMap:
      instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}

server:
  port: 8188

eureka-client.properties:

eureka.port=8188
eureka.vipAddress=productservice.mydomain.net
eureka.preferSameZone=true
eureka.shouldUseDns=false
eureka.availabilityZones=default
eureka.serviceUrl.defaultZone=http://localhost:8761/eureka/

1 回答

  • 1

    因此,经过几个小时的失败尝试通过修改代码使其工作,我查看了 pom.xml 文件,并删除了附加到应用程序的这一部分的依赖项 . 然后我一个接一个地把它们放回去,验证它会做什么修改,然后我发现我对 eureka 有错误的依赖,因为我替换了我所拥有的那个 . com.netflix.eureka 由springboot提供的,例如 spring-cloud-starter-eureka .

相关问题