Skip to content

Commit

Permalink
Merge pull request #10390 from jmesnil/WFLY-9174_pooled-connection-fa…
Browse files Browse the repository at this point in the history
…ctory_discovery-group

[WFLY-9174] Fix discovery-group with pooled-connection-factory
  • Loading branch information
bstansberry committed Aug 4, 2017
2 parents a2abca3 + d55f8cc commit c16deb4
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 10 deletions.
Expand Up @@ -284,7 +284,7 @@ public synchronized void start(final StartContext context) throws StartException
if (jgroupFactories.containsKey(key)) {
ChannelFactory channelFactory = jgroupFactories.get(key);
String channelName = jgroupsChannels.get(key);
newConfigs.add(BroadcastGroupAdd.createBroadcastGroupConfiguration(name, config, channelFactory, channelName));
newConfigs.add(BroadcastGroupAdd.createBroadcastGroupConfiguration(name, config, channelFactory, channelName, channels));
} else {
final SocketBinding binding = groupBindings.get(key);
if (binding == null) {
Expand Down
Expand Up @@ -30,6 +30,7 @@

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.apache.activemq.artemis.api.core.BroadcastEndpointFactory;
Expand All @@ -51,6 +52,7 @@
import org.jboss.msc.service.ServiceName;
import org.jboss.msc.service.ServiceRegistry;
import org.jboss.msc.service.ServiceTarget;
import org.jgroups.JChannel;
import org.wildfly.clustering.jgroups.spi.ChannelFactory;
import org.wildfly.clustering.jgroups.spi.JGroupsDefaultRequirement;
import org.wildfly.extension.messaging.activemq.logging.MessagingLogger;
Expand Down Expand Up @@ -175,12 +177,12 @@ static BroadcastGroupConfiguration createBroadcastGroupConfiguration(final Strin
.setEndpointFactory(endpointFactory);
}

static BroadcastGroupConfiguration createBroadcastGroupConfiguration(final String name, final BroadcastGroupConfiguration config, final ChannelFactory channelFactory, final String channelName) throws Exception {
static BroadcastGroupConfiguration createBroadcastGroupConfiguration(final String name, final BroadcastGroupConfiguration config, final ChannelFactory channelFactory, final String channelName, Map<String, JChannel> channels) throws Exception {

final long broadcastPeriod = config.getBroadcastPeriod();
final List<String> connectorRefs = config.getConnectorInfos();

final BroadcastEndpointFactory endpointFactory = new JGroupsBroadcastEndpointFactory(channelName, channelFactory);
final BroadcastEndpointFactory endpointFactory = new JGroupsBroadcastEndpointFactory(channelName, channelFactory, channels);

return new BroadcastGroupConfiguration()
.setName(name)
Expand Down
Expand Up @@ -35,7 +35,7 @@
/**
* @author <a href="http://jmesnil.net/">Jeff Mesnil</a> (c) 2017 Red Hat inc.
*/
class JGroupsBroadcastEndpointFactory implements BroadcastEndpointFactory {
public class JGroupsBroadcastEndpointFactory implements BroadcastEndpointFactory {
private final String channelName;
private final ChannelFactory channelFactory;
// can be null
Expand All @@ -50,10 +50,6 @@ public JGroupsBroadcastEndpointFactory(String channelName, ChannelFactory channe
this.channels = channels;
}

public JGroupsBroadcastEndpointFactory(String channelName, ChannelFactory channelFactory) {
this(channelName, channelFactory, null);
}

@Override
public BroadcastEndpoint createBroadcastEndpoint() throws Exception {
JGroupsBroadcastEndpoint endpoint = new JGroupsBroadcastEndpoint(JChannelManager.getInstance(), channelName) {
Expand Down
Expand Up @@ -37,7 +37,6 @@
import java.util.Set;

import org.apache.activemq.artemis.api.core.BroadcastEndpointFactory;
import org.apache.activemq.artemis.api.core.ChannelBroadcastEndpointFactory;
import org.apache.activemq.artemis.api.core.DiscoveryGroupConfiguration;
import org.apache.activemq.artemis.api.core.TransportConfiguration;
import org.apache.activemq.artemis.api.core.UDPBroadcastEndpointFactory;
Expand Down Expand Up @@ -121,6 +120,7 @@
import org.jboss.msc.value.InjectedValue;
import org.wildfly.common.function.ExceptionSupplier;
import org.wildfly.extension.messaging.activemq.ActiveMQActivationService;
import org.wildfly.extension.messaging.activemq.JGroupsBroadcastEndpointFactory;
import org.wildfly.extension.messaging.activemq.JGroupsChannelLocator;
import org.wildfly.extension.messaging.activemq.MessagingServices;
import org.wildfly.extension.messaging.activemq.logging.MessagingLogger;
Expand Down Expand Up @@ -396,7 +396,7 @@ private void createService(ServiceTarget serviceTarget, ServiceContainer contain
properties.add(simpleProperty15(GROUP_ADDRESS, STRING_TYPE, udpCfg.getGroupAddress()));
properties.add(simpleProperty15(GROUP_PORT, INTEGER_TYPE, "" + udpCfg.getGroupPort()));
properties.add(simpleProperty15(DISCOVERY_LOCAL_BIND_ADDRESS, STRING_TYPE, "" + udpCfg.getLocalBindAddress()));
} else if (bgCfg instanceof ChannelBroadcastEndpointFactory) {
} else if (bgCfg instanceof JGroupsBroadcastEndpointFactory) {
properties.add(simpleProperty15(JGROUPS_CHANNEL_LOCATOR_CLASS, STRING_TYPE, JGroupsChannelLocator.class.getName()));
properties.add(simpleProperty15(JGROUPS_CHANNEL_NAME, STRING_TYPE, jgroupsChannelName));
properties.add(simpleProperty15(JGROUPS_CHANNEL_REF_NAME, STRING_TYPE, serverName + '/' + jgroupsChannelName));
Expand Down

0 comments on commit c16deb4

Please sign in to comment.