我已经下载了 Wildfly swarm 示例,现在我正在尝试将 Main 类中的配置移动到 YAML 文件中。
到目前为止,一切正常,除了功能区示例。我从示例项目中获取配置并尝试将其转换为 YAML 文件。
我的 YAML 文件(我认为它应该是这样的)
---
swarm:
context:
path: proxy
http:
port: 8080
jgroups:
default-channel: swarm-jgroups
stacks:
udp:
protocols:
FD_SOCK:
socket-binding: jgroups-udp-fd
TCP:
properties:
bind_port:
value: 9090
TCPPING:
properties:
initial_hosts:
value: "localhost[9090],localhost[9091],localhost[9092],localhost[9093]"
num_initial_members:
value: 4
port_range:
value: 4
timeout:
value: 3000
FD_ALL: null
VERIFY_SUSPECT: null
pbcast.NAKACK2: null
UNICAST3: null
pbcast.STABLE: null
pbcast.GMS: null
UFC: null
MFC: null
FRAG2: null
RSVP: null
transports:
UDP:
socket-binding: jgroups-udp
但我有两个例外:在第一行启动时:
Error getting subresources for Stack java.lang.RuntimeException: Failed to adopt value java.util.Map
at org.wildfly.swarm.config.runtime.invocation.EntityAdapter.fromEntity(EntityAdapter.java:347)
at org.wildfly.swarm.config.runtime.invocation.Marshaller.appendNode(Marshaller.java:33)
at org.wildfly.swarm.config.runtime.invocation.Marshaller.marshalSubresources(Marshaller.java:129)
at org.wildfly.swarm.config.runtime.invocation.Marshaller.appendNode(Marshaller.java:38)
at org.wildfly.swarm.config.runtime.invocation.Marshaller.marshalSubresources(Marshaller.java:129)
at org.wildfly.swarm.config.runtime.invocation.Marshaller.appendNode(Marshaller.java:38)
at org.wildfly.swarm.config.runtime.invocation.Marshaller.marshal(Marshaller.java:23)
at org.wildfly.swarm.container.runtime.marshal.SubsystemMarshaller.marshal(SubsystemMarshaller.java:59)
at org.wildfly.swarm.container.runtime.marshal.SubsystemMarshaller$Proxy$_$$_WeldClientProxy.marshal(Unknown Source)
at org.wildfly.swarm.container.runtime.marshal.DMRMarshaller.marshal(DMRMarshaller.java:70)
at org.wildfly.swarm.container.runtime.marshal.DMRMarshaller$Proxy$_$$_WeldClientProxy.marshal(Unknown Source)
at org.wildfly.swarm.container.runtime.RuntimeServer.start(RuntimeServer.java:182)
at org.wildfly.swarm.container.runtime.RuntimeServer$Proxy$_$$_WeldClientProxy.start(Unknown Source)
at org.wildfly.swarm.container.runtime.ServerBootstrapImpl.lambda$bootstrap$1(ServerBootstrapImpl.java:158)
at org.wildfly.swarm.spi.api.ClassLoading.withTCCL(ClassLoading.java:43)
at org.wildfly.swarm.container.runtime.ServerBootstrapImpl.bootstrap(ServerBootstrapImpl.java:113)
at org.wildfly.swarm.Swarm.start(Swarm.java:369)
at org.wildfly.swarm.Swarm.main(Swarm.java:623)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.wildfly.swarm.bootstrap.MainInvoker.invoke(MainInvoker.java:39)
at org.wildfly.swarm.bootstrap.Main.run(Main.java:46)
at org.wildfly.swarm.bootstrap.Main.main(Main.java:37) Caused by: java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.String
at org.wildfly.swarm.config.runtime.invocation.MapTypeAdapter.toDmr(MapTypeAdapter.java:22)
at org.wildfly.swarm.config.runtime.invocation.EntityAdapter.fromEntity(EntityAdapter.java:341)
... 24 more
然后是 jgroup 特定的异常:
("subsystem" => "jgroups"),
("stack" => "udp")
]) - failure description: "WFLYCLJG0010: Transport for stack udp is not defined. Please specify both a transport and protocol list, either as optional parameters to add() or via batching."
我不确定出了什么问题。
也许你们可以给我一个提示?