Hello, Cluster static members seem to fail since version 7.0.70 (also reproduced in 8.0.45):
SEVERE: The required Server component failed to start so Tomcat is unable to start. ... Caused by: org.apache.catalina.tribes.ChannelException: java.lang.IllegalArgumentException: McastService:Required property "tcpListenPort" is missing.; No faulty members identified. at org.apache.catalina.tribes.group.ChannelCoordinator.internalStart(ChannelCoordinator.java:200) at org.apache.catalina.tribes.group.ChannelCoordinator.start(ChannelCoordinator.java:100) at org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162) at org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor.start(StaticMembershipInterceptor.java:168) at org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162) at org.apache.catalina.tribes.group.GroupChannel.start(GroupChannel.java:431) at org.apache.catalina.ha.tcp.SimpleTcpCluster.startInternal(SimpleTcpCluster.java:689) ... 15 more Caused by: java.lang.IllegalArgumentException: McastService:Required property "tcpListenPort" is missing. at org.apache.catalina.tribes.membership.McastService.hasProperty(McastService.java:360) at org.apache.catalina.tribes.membership.McastService.start(McastService.java:379) at org.apache.catalina.tribes.group.ChannelCoordinator.internalStart(ChannelCoordinator.java:182) ... 21 more The reason could be here: $ diff -r apache-tomcat-7.0.69-src/java/org/apache/catalina/tribes/group/ChannelCoordinator.java apache-tomcat-7.0.70-src/java/org/apache/catalina/tribes/group/ChannelCoordinator.java 28a29,30 > import org.apache.catalina.tribes.membership.StaticMember; > import org.apache.catalina.tribes.transport.ReceiverBase; 143a146,148 > if (clusterReceiver instanceof ReceiverBase) { > ((ReceiverBase)clusterReceiver).setChannel(getChannel()); > } 146,149c151,165 < membershipService.setLocalMemberProperties(getClusterReceiver().getHost(), < getClusterReceiver().getPort(), < getClusterReceiver().getSecurePort(), < getClusterReceiver().getUdpPort()); --- > Member localMember = getChannel().getLocalMember(false); > if (localMember instanceof StaticMember) { > // static member > StaticMember staticMember = (StaticMember)localMember; > staticMember.setHost(getClusterReceiver().getHost()); > staticMember.setPort(getClusterReceiver().getPort()); > > staticMember.setSecurePort(getClusterReceiver().getSecurePort()); > } else { > // multicast member > > membershipService.setLocalMemberProperties(getClusterReceiver().getHost(), > getClusterReceiver().getPort(), > getClusterReceiver().getSecurePort(), > getClusterReceiver().getUdpPort()); > > } but I can't see why and go forward alone ;). If I'm not wrong, posting in this mailing list is the proper way to go. Regards, Carlos. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org