static boolean setNamingDestination(final AbstractInvocationContext context, final NamingProvider namingProvider) { final ProviderEnvironment providerEnvironment = namingProvider.getProviderEnvironment(); final List<URI> providerUris = providerEnvironment.getProviderUris(); List<URI> uris = findPreferredURIs(context, providerUris); if (uris == null) { uris = new ArrayList<>(providerUris.size()); for (URI uri : providerUris) { if (!isBlackListed(context, uri)) { uris.add(uri); } } } final int size = uris.size(); if (size == 0) { // we can't discover the location; fail return false; } else if (size == 1) { context.setDestination(uris.get(0)); return true; } else { context.setDestination(uris.get(ThreadLocalRandom.current().nextInt(size))); } if (context instanceof EJBSessionCreationInvocationContext) { DiscoveryEJBClientInterceptor.setupSessionAffinities((EJBSessionCreationInvocationContext)context); } return true; }
static boolean setNamingDestination(final AbstractInvocationContext context, final NamingProvider namingProvider) { final ProviderEnvironment providerEnvironment = namingProvider.getProviderEnvironment(); final List<URI> providerUris = providerEnvironment.getProviderUris(); List<URI> uris = findPreferredURIs(context, providerUris); if (uris == null) { uris = new ArrayList<>(providerUris.size()); for (URI uri : providerUris) { if (!isBlackListed(context, uri)) { uris.add(uri); } } } final int size = uris.size(); if (size == 0) { // we can't discover the location; fail return false; } else if (size == 1) { context.setDestination(uris.get(0)); return true; } else { context.setDestination(uris.get(ThreadLocalRandom.current().nextInt(size))); } if (context instanceof EJBSessionCreationInvocationContext) { DiscoveryEJBClientInterceptor.setupSessionAffinities((EJBSessionCreationInvocationContext)context); } return true; }
static boolean setNamingDestination(final AbstractInvocationContext context, final NamingProvider namingProvider) { final ProviderEnvironment providerEnvironment = namingProvider.getProviderEnvironment(); final List<URI> providerUris = providerEnvironment.getProviderUris(); List<URI> uris = findPreferredURIs(context, providerUris); if (uris == null) { uris = new ArrayList<>(providerUris.size()); for (URI uri : providerUris) { if (!isBlackListed(context, uri)) { uris.add(uri); } } } final int size = uris.size(); if (size == 0) { // we can't discover the location; fail return false; } else if (size == 1) { context.setDestination(uris.get(0)); return true; } else { context.setDestination(uris.get(ThreadLocalRandom.current().nextInt(size))); } if (context instanceof EJBSessionCreationInvocationContext) { DiscoveryEJBClientInterceptor.setupSessionAffinities((EJBSessionCreationInvocationContext)context); } return true; }