new method to create ServerLocator
This commit is contained in:
parent
896813fc1c
commit
ee84d7efdf
|
@ -19,6 +19,7 @@ package org.apache.activemq.artemis.core.client.impl;
|
|||
import java.io.ObjectStreamException;
|
||||
import java.io.Serializable;
|
||||
import java.lang.reflect.Array;
|
||||
import java.net.URI;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
import java.util.ArrayList;
|
||||
|
@ -48,6 +49,7 @@ import org.apache.activemq.artemis.api.core.TransportConfiguration;
|
|||
import org.apache.activemq.artemis.api.core.client.ActiveMQClient;
|
||||
import org.apache.activemq.artemis.api.core.client.ClientSessionFactory;
|
||||
import org.apache.activemq.artemis.api.core.client.ClusterTopologyListener;
|
||||
import org.apache.activemq.artemis.api.core.client.ServerLocator;
|
||||
import org.apache.activemq.artemis.api.core.client.TopologyMember;
|
||||
import org.apache.activemq.artemis.api.core.client.loadbalance.ConnectionLoadBalancingPolicy;
|
||||
import org.apache.activemq.artemis.core.client.ActiveMQClientLogger;
|
||||
|
@ -60,6 +62,7 @@ import org.apache.activemq.artemis.core.remoting.FailureListener;
|
|||
import org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager;
|
||||
import org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManagerFactory;
|
||||
import org.apache.activemq.artemis.spi.core.remoting.Connector;
|
||||
import org.apache.activemq.artemis.uri.ServerLocatorParser;
|
||||
import org.apache.activemq.artemis.utils.ActiveMQThreadFactory;
|
||||
import org.apache.activemq.artemis.utils.ClassloadingUtil;
|
||||
import org.apache.activemq.artemis.utils.UUIDGenerator;
|
||||
|
@ -471,6 +474,31 @@ public final class ServerLocatorImpl implements ServerLocatorInternal, Discovery
|
|||
clusterConnection = false;
|
||||
}
|
||||
|
||||
public static ServerLocator newLocator(String uri)
|
||||
{
|
||||
try
|
||||
{
|
||||
return newLocator(new URI(uri));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public static ServerLocator newLocator(URI uri)
|
||||
{
|
||||
try
|
||||
{
|
||||
ServerLocatorParser parser = new ServerLocatorParser();
|
||||
return parser.newObject(uri, null);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a ServerLocatorImpl using UDP discovery to lookup cluster
|
||||
*/
|
||||
|
|
|
@ -47,6 +47,7 @@ import org.apache.activemq.artemis.api.core.client.ActiveMQClient;
|
|||
import org.apache.activemq.artemis.api.core.client.ClientSessionFactory;
|
||||
import org.apache.activemq.artemis.api.core.client.ServerLocator;
|
||||
import org.apache.activemq.artemis.api.jms.JMSFactoryType;
|
||||
import org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl;
|
||||
import org.apache.activemq.artemis.jms.referenceable.ConnectionFactoryObjectFactory;
|
||||
import org.apache.activemq.artemis.jms.referenceable.SerializableObjectRefAddr;
|
||||
import org.apache.activemq.artemis.uri.ConnectionFactoryParser;
|
||||
|
@ -162,11 +163,10 @@ public class ActiveMQConnectionFactory implements Externalizable, Referenceable,
|
|||
public ActiveMQConnectionFactory(String url)
|
||||
{
|
||||
ConnectionFactoryParser cfParser = new ConnectionFactoryParser();
|
||||
ServerLocatorParser locatorParser = new ServerLocatorParser();
|
||||
try
|
||||
{
|
||||
URI uri = new URI(url);
|
||||
serverLocator = locatorParser.newObject(uri, null);
|
||||
serverLocator = ServerLocatorImpl.newLocator(uri);
|
||||
cfParser.populateObject(uri, this);
|
||||
}
|
||||
catch (Exception e)
|
||||
|
|
Loading…
Reference in New Issue