2017-08-25 21 views
0

ribbon-consul example按照指示,我开始领事与无法从wildfly-群-例子/色带领事

consul agent -dev 

然后找到在这个例子中的父文件夹wildfly-群实例领事服务

mvn verify -Pconsul -Dswarm.consul.url=http://localhost:8500 

从我收集的这是consul的默认位置,所以我也没有运行它,只是为了得到相同的结果。 任务最终启动所有服务,但未能与领事注册,具有输出:

2017-08-25 16:54:00,324 INFO [org.wildfly.swarm.runtime.deployer] (main) deploying time.war 
2017-08-25 16:54:00,354 INFO [org.jboss.as.server.deployment] (MSC service thread 1-8) WFLYSRV0027: Starting deployment of "time.war" (runtime-name: "time.war") 
2017-08-25 16:54:01,778 WARN [org.jboss.as.dependency.private] (MSC service thread 1-3) WFLYSRV0018: Deployment "deployment.time.war" is using a private module ("io.netty:main") which may be changed or removed in future versions without notice. 
2017-08-25 16:54:01,923 INFO [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0018: Host default-host starting 
2017-08-25 16:54:02,036 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service swarm.topology.register.time.http: org.jboss.msc.service.StartException in service swarm.topology.register.time.http: com.orbitz.consul.ConsulException: Invalid service address 
    at org.wildfly.swarm.topology.deployment.RegistrationAdvertiser.start(RegistrationAdvertiser.java:79) 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:748) 
Caused by: com.orbitz.consul.ConsulException: Invalid service address 
    at com.orbitz.consul.AgentClient.register(AgentClient.java:180) 
    at com.orbitz.consul.AgentClient.register(AgentClient.java:184) 
    at org.wildfly.swarm.topology.consul.runtime.Advertiser.advertise(Advertiser.java:65) 
    at org.wildfly.swarm.topology.consul.runtime.ConsulTopologyConnector.advertise(ConsulTopologyConnector.java:60) 
    at org.wildfly.swarm.topology.deployment.RegistrationAdvertiser.start(RegistrationAdvertiser.java:77) 
    ... 5 more 

2017-08-25 16:54:02,203 INFO [org.jboss.resteasy.resteasy_jaxrs.i18n] (ServerService Thread Pool -- 7) RESTEASY002225: Deploying javax.ws.rs.core.Application: class org.wildfly.swarm.generated.WildFlySwarmDefaultJAXRSApplication 
2017-08-25 16:54:02,221 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 7) WFLYUT0021: Registered web context:/
2017-08-25 16:54:02,242 ERROR [org.jboss.as.controller.management-operation] (main) WFLYCTL0013: Operation ("add") failed - address: (("deployment" => "time.war")) - failure description: { 
    "WFLYCTL0080: Failed services" => {"swarm.topology.register.time.http" => "org.jboss.msc.service.StartException in service swarm.topology.register.time.http: com.orbitz.consul.ConsulException: Invalid service address 
    Caused by: com.orbitz.consul.ConsulException: Invalid service address"}, 
    "WFLYCTL0412: Required services that are not installed:" => ["swarm.topology.register.time.http"], 
    "WFLYCTL0180: Services with missing/unavailable dependencies" => undefined 
} 
2017-08-25 16:54:02,244 ERROR [org.jboss.as.server] (main) WFLYSRV0021: Deploy of deployment "time.war" was rolled back with the following failure message: 
{ 
    "WFLYCTL0080: Failed services" => {"swarm.topology.register.time.http" => "org.jboss.msc.service.StartException in service swarm.topology.register.time.http: com.orbitz.consul.ConsulException: Invalid service address 
    Caused by: com.orbitz.consul.ConsulException: Invalid service address"}, 
    "WFLYCTL0412: Required services that are not installed:" => ["swarm.topology.register.time.http"], 
    "WFLYCTL0180: Services with missing/unavailable dependencies" => undefined 
} 
2017-08-25 16:54:02,250 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 7) WFLYUT0022: Unregistered web context:/
2017-08-25 16:54:02,254 INFO [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0019: Host default-host stopping 
2017-08-25 16:54:02,272 INFO [org.jboss.as.server.deployment] (MSC service thread 1-7) WFLYSRV0028: Stopped deployment time.war (runtime-name: time.war) in 28ms 
2017-08-25 16:54:02,273 INFO [org.jboss.as.controller] (main) WFLYCTL0183: Service status report 
WFLYCTL0186: Services which failed to start:  service swarm.topology.register.time.http 

2017-08-25 16:54:02,275 ERROR [stderr] (main) Exception in thread "main" java.lang.reflect.InvocationTargetException 
2017-08-25 16:54:02,275 ERROR [stderr] (main) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
2017-08-25 16:54:02,275 ERROR [stderr] (main) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
2017-08-25 16:54:02,275 ERROR [stderr] (main) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
2017-08-25 16:54:02,275 ERROR [stderr] (main) at java.lang.reflect.Method.invoke(Method.java:498) 
2017-08-25 16:54:02,275 ERROR [stderr] (main) at org.wildfly.swarm.bootstrap.MainInvoker.invoke(MainInvoker.java:39) 
2017-08-25 16:54:02,276 ERROR [stderr] (main) at org.wildfly.swarm.bootstrap.MainInvoker.main(MainInvoker.java:92) 
2017-08-25 16:54:02,276 ERROR [stderr] (main) Caused by: org.wildfly.swarm.container.DeploymentException: org.wildfly.swarm.container.DeploymentException: WFSWARM0004: Deployment failed: {"WFLYCTL0080: Failed services" => {"swarm.topology.register.time.http" => "org.jboss.msc.service.StartException in service swarm.topology.register.time.http: com.orbitz.consul.ConsulException: Invalid service address 
2017-08-25 16:54:02,276 ERROR [stderr] (main)  Caused by: com.orbitz.consul.ConsulException: Invalid service address"},"WFLYCTL0412: Required services that are not installed:" => ["swarm.topology.register.time.http"],"WFLYCTL0180: Services with missing/unavailable dependencies" => undefined} 
2017-08-25 16:54:02,276 ERROR [stderr] (main) at org.wildfly.swarm.container.runtime.RuntimeDeployer.deploy(RuntimeDeployer.java:301) 
2017-08-25 16:54:02,276 ERROR [stderr] (main) at org.wildfly.swarm.container.runtime.RuntimeDeployer.deploy(RuntimeDeployer.java:174) 
2017-08-25 16:54:02,276 ERROR [stderr] (main) at org.wildfly.swarm.container.runtime.RuntimeDeployer$Proxy$_$$_WeldClientProxy.deploy(Unknown Source) 
2017-08-25 16:54:02,277 ERROR [stderr] (main) at org.wildfly.swarm.Swarm.deploy(Swarm.java:467) 
2017-08-25 16:54:02,277 ERROR [stderr] (main) at org.wildfly.swarm.examples.netflix.ribbon.time.Main.main(Main.java:19) 
2017-08-25 16:54:02,277 ERROR [stderr] (main) ... 6 more 
2017-08-25 16:54:02,278 ERROR [stderr] (main) Caused by: org.wildfly.swarm.container.DeploymentException: WFSWARM0004: Deployment failed: {"WFLYCTL0080: Failed services" => {"swarm.topology.register.time.http" => "org.jboss.msc.service.StartException in service swarm.topology.register.time.http: com.orbitz.consul.ConsulException: Invalid service address 
2017-08-25 16:54:02,278 ERROR [stderr] (main)  Caused by: com.orbitz.consul.ConsulException: Invalid service address"},"WFLYCTL0412: Required services that are not installed:" => ["swarm.topology.register.time.http"],"WFLYCTL0180: Services with missing/unavailable dependencies" => undefined} 
2017-08-25 16:54:02,278 ERROR [stderr] (main) at org.wildfly.swarm.container.runtime.RuntimeDeployer.deploy(RuntimeDeployer.java:296) 
2017-08-25 16:54:02,278 ERROR [stderr] (main) ... 10 more 

这是重复每次和事件服务启动。前端报告领事服务http://:8300

起价想法主要方法有偏差将进行罚款(寿前端返回403:禁止的,但这是另外一个问题)

有我丢失的东西,因为这似乎是一个非常简单的例子是窃听?

受影响示例的版本为2017.9.0-SNAPSHOT2017.8.1

+0

这可能只是没有人试图使用它,而没有直接设置领事网址。 请提出一个问题,https://issues.jboss.org/browse/SWARM,我们可以看看它 – Ken

+0

我试过这两种方式。无论如何,谢谢我会添加一个问题。 –

回答

1

领事客户端异常“无效的服务地址”表示服务正在注册IP“0.0.0.0”。请参阅consul source code

默认情况下,Swarm对“swarm.bind.address”属性具有默认值“0.0.0.0”,这意味着接受Swarm的“所有接口”的连接。 看来这个IP被用来向领事注册服务。

尝试在每个过程的test/pom.xml中指定swarm.bind.address系统属性,例如

<process> 
     <artifactId>example-ribbon-consul-time</artifactId> 
     <properties> 
      <swarm.http.port>8081</swarm.http.port> 
      <swarm.bind.address>127.0.0.1</swarm.bind.address> 
     </properties> 
    </process>