• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java ThreadUtils类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.curator.utils.ThreadUtils的典型用法代码示例。如果您正苦于以下问题:Java ThreadUtils类的具体用法?Java ThreadUtils怎么用?Java ThreadUtils使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ThreadUtils类属于org.apache.curator.utils包,在下文中一共展示了ThreadUtils类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: writeInstance

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
static<T> ObjectNode writeInstance(ObjectMapper mapper, ServiceInstance<T> instance, DiscoveryContext<T> context)
{
    ObjectNode  node = mapper.createObjectNode();
    node.put("name", instance.getName());
    node.put("id", instance.getId());
    node.put("address", instance.getAddress());
    putInteger(node, "port", instance.getPort());
    putInteger(node, "sslPort", instance.getSslPort());
    node.put("registrationTimeUTC", instance.getRegistrationTimeUTC());
    node.put("serviceType", instance.getServiceType().name());
    try
    {
        context.marshallJson(node, "payload", instance.getPayload());
    }
    catch ( Exception e )
    {
        ThreadUtils.checkInterrupted(e);
        throw new WebApplicationException(e);
    }

    return node;
}
 
开发者ID:apache,项目名称:curator,代码行数:23,代码来源:JsonServiceInstanceMarshaller.java


示例2: readFrom

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
@Override
public ServiceInstances<T> readFrom(Class<ServiceInstances<T>> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, String> httpHeaders, InputStream entityStream) throws IOException, WebApplicationException
{
    try
    {
        List<ServiceInstance<T>>    instances = Lists.newArrayList();
        ObjectMapper                mapper = new ObjectMapper();
        JsonNode                    tree = mapper.reader().readTree(entityStream);
        for ( int i = 0; i < tree.size(); ++i )
        {
            JsonNode                    node = tree.get(i);
            ServiceInstance<T> instance = JsonServiceInstanceMarshaller.readInstance(node, context);
            instances.add(instance);
        }
        return new ServiceInstances<T>(instances);
    }
    catch ( Exception e )
    {
        ThreadUtils.checkInterrupted(e);
        throw new WebApplicationException(e);
    }
}
 
开发者ID:apache,项目名称:curator,代码行数:23,代码来源:JsonServiceInstancesMarshaller.java


示例3: removeService

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
@DELETE
@Path("v1/service/{name}/{id}")
public Response     removeService(@PathParam("name") String name, @PathParam("id") String id)
{
    try
    {
        ServiceInstance<T> instance = context.getServiceDiscovery().queryForInstance(name, id);
        if ( instance != null )
        {
            //noinspection unchecked
            context.getServiceDiscovery().unregisterService(instance);
        }
    }
    catch ( Exception e )
    {
        ThreadUtils.checkInterrupted(e);
        log.error("Trying to delete service", e);
        return Response.serverError().build();
    }
    return Response.ok().build();
}
 
开发者ID:apache,项目名称:curator,代码行数:22,代码来源:DiscoveryResource.java


示例4: getAll

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
@GET
@Path("v1/service/{name}")
@Produces(MediaType.APPLICATION_JSON)
public Response     getAll(@PathParam("name") String name)
{
    try
    {
        Collection<ServiceInstance<T>>  instances = context.getServiceDiscovery().queryForInstances(name);
        return Response.ok(new ServiceInstances<T>(instances)).build();
    }
    catch ( Exception e )
    {
        ThreadUtils.checkInterrupted(e);
        log.error(String.format("Trying to get instances from service (%s)", name), e);
        return Response.serverError().build();
    }
}
 
开发者ID:apache,项目名称:curator,代码行数:18,代码来源:DiscoveryResource.java


示例5: internalGet

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
private Response internalGet(String name, String id, boolean addDeprecationHeader)
{
    try
    {
        ServiceInstance<T> instance = context.getServiceDiscovery().queryForInstance(name, id);
        if ( instance == null )
        {
            return Response.status(Response.Status.NOT_FOUND).build();
        }
        Response.ResponseBuilder builder = Response.ok(instance);
        if ( addDeprecationHeader )
        {
            builder = builder.header("Warning", "This API has been deprecated. Please see the updated spec for the replacement API.");
        }
        return builder.build();
    }
    catch ( Exception e )
    {
        ThreadUtils.checkInterrupted(e);
        log.error(String.format("Trying to get instance (%s) from service (%s)", id, name), e);
        return Response.serverError().build();
    }
}
 
开发者ID:apache,项目名称:curator,代码行数:24,代码来源:DiscoveryResource.java


示例6: checkService

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
private void checkService(String name)
{
    try
    {
        Collection<ServiceInstance<Object>>     instances = discovery.queryForInstances(name);
        for ( ServiceInstance<Object> instance : instances )
        {
            if ( instance.getServiceType() == ServiceType.STATIC )
            {
                if ( (System.currentTimeMillis() - instance.getRegistrationTimeUTC()) > instanceRefreshMs )
                {
                    discovery.unregisterService(instance);
                }
            }
        }
    }
    catch ( Exception e )
    {
        ThreadUtils.checkInterrupted(e);
        log.error(String.format("GC for service: %s", name), e);
    }
}
 
开发者ID:apache,项目名称:curator,代码行数:23,代码来源:InstanceCleanup.java


示例7: addFailedOperation

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
void addFailedOperation(T details)
{
    if ( debugListener != null )
    {
        debugListener.pathAddedForGuaranteedOperation(details);
    }
    
    
    if ( client.getState() == CuratorFrameworkState.STARTED )
    {
        log.debug("Details being added to guaranteed operation set: " + details);
        try
        {
            executeGuaranteedOperationInBackground(details);
        }
        catch ( Exception e )
        {
            ThreadUtils.checkInterrupted(e);
            addFailedOperation(details);
        }
    }
}
 
开发者ID:apache,项目名称:curator,代码行数:23,代码来源:FailedOperationManager.java


示例8: forEach

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
/**
 * Utility - apply the given function to each listener. The function receives
 * the listener as an argument.
 *
 * @param function function to call for each listener
 */
public void     forEach(final Function<T, Void> function)
{
    for ( final ListenerEntry<T> entry : listeners.values() )
    {
        entry.executor.execute
        (
            new Runnable()
            {
                @Override
                public void run()
                {
                    try
                    {
                        function.apply(entry.listener);
                    }
                    catch ( Throwable e )
                    {
                        ThreadUtils.checkInterrupted(e);
                        log.error(String.format("Listener (%s) threw an exception", entry.listener), e);
                    }
                }
            }
        );
    }
}
 
开发者ID:apache,项目名称:curator,代码行数:32,代码来源:ListenerContainer.java


示例9: childEvent

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
@Override
public void childEvent(CuratorFramework client, TreeCacheEvent event)
{
    try
    {
        internalChildEvent(event);
    }
    catch ( Exception e )
    {
        ThreadUtils.checkInterrupted(e);

        listenerContainer.forEach(l -> {
            l.handleException(e);
            return null;
        });
    }
}
 
开发者ID:apache,项目名称:curator,代码行数:18,代码来源:ModeledCacheImpl.java


示例10: notifyListeners

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
private void notifyListeners()
{
    final byte[] localValue = getValue();
    listeners.forEach
        (
            new Function<SharedValueListener, Void>()
            {
                @Override
                public Void apply(SharedValueListener listener)
                {
                    try
                    {
                        listener.valueHasChanged(SharedValue.this, localValue);
                    }
                    catch ( Exception e )
                    {
                        ThreadUtils.checkInterrupted(e);
                        log.error("From SharedValue listener", e);
                    }
                    return null;
                }
            }
        );
}
 
开发者ID:apache,项目名称:curator,代码行数:25,代码来源:SharedValue.java


示例11: notifyListeners

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
private void notifyListeners()
{
    final String path = getActualPath();
    listeners.forEach(
         new Function<PersistentNodeListener, Void>()
         {
             @Override
             public Void apply(PersistentNodeListener listener)
             {
                 try
                {
                    listener.nodeCreated(path);
                }
                catch ( Exception e )
                {
                    ThreadUtils.checkInterrupted(e);
                    log.error("From PersistentNode listener", e);
                }
                return null;
            }
         }
    );
}
 
开发者ID:apache,项目名称:curator,代码行数:24,代码来源:PersistentNode.java


示例12: callListeners

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
void callListeners(final PathChildrenCacheEvent event)
{
    listeners.forEach
        (
            new Function<PathChildrenCacheListener, Void>()
            {
                @Override
                public Void apply(PathChildrenCacheListener listener)
                {
                    try
                    {
                        listener.childEvent(client, event);
                    }
                    catch ( Exception e )
                    {
                        ThreadUtils.checkInterrupted(e);
                        handleException(e);
                    }
                    return null;
                }
            }
        );
}
 
开发者ID:apache,项目名称:curator,代码行数:24,代码来源:PathChildrenCache.java


示例13: close

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
/**
 * Close/end the cache.
 */
@Override
public void close()
{
    if ( treeState.compareAndSet(TreeState.STARTED, TreeState.CLOSED) )
    {
        client.removeWatchers();
        client.getConnectionStateListenable().removeListener(connectionStateListener);
        listeners.clear();
        executorService.shutdown();
        try
        {
            root.wasDeleted();
        }
        catch ( Exception e )
        {
            ThreadUtils.checkInterrupted(e);
            handleException(e);
        }
    }
}
 
开发者ID:apache,项目名称:curator,代码行数:24,代码来源:TreeCache.java


示例14: callListeners

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
private void callListeners(final TreeCacheEvent event)
{
    listeners.forEach(new Function<TreeCacheListener, Void>()
    {
        @Override
        public Void apply(TreeCacheListener listener)
        {
            try
            {
                listener.childEvent(client, event);
            }
            catch ( Exception e )
            {
                ThreadUtils.checkInterrupted(e);
                handleException(e);
            }
            return null;
        }
    });
}
 
开发者ID:apache,项目名称:curator,代码行数:21,代码来源:TreeCache.java


示例15: publishEvent

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
private void publishEvent(final TreeCacheEvent event)
{
    if ( treeState.get() != TreeState.CLOSED )
    {
        LOG.debug("publishEvent: {}", event);
        executorService.submit(new Runnable()
        {
            @Override
            public void run()
            {
                {
                    try
                    {
                        callListeners(event);
                    }
                    catch ( Exception e )
                    {
                        ThreadUtils.checkInterrupted(e);
                        handleException(e);
                    }
                }
            }
        });
    }
}
 
开发者ID:apache,项目名称:curator,代码行数:26,代码来源:TreeCache.java


示例16: internalStart

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
private synchronized void internalStart()
{
    if ( state.get() == State.STARTED )
    {
        client.getConnectionStateListenable().addListener(listener);
        try
        {
            reset();
        }
        catch ( Exception e )
        {
            ThreadUtils.checkInterrupted(e);
            log.error("An error occurred checking resetting leadership.", e);
        }
    }
}
 
开发者ID:apache,项目名称:curator,代码行数:17,代码来源:LeaderLatch.java


示例17: acquire

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
/**
 * <p>Acquire <code>qty</code> leases. If there are not enough leases available, this method
 * blocks until either the maximum number of leases is increased enough or other clients/processes
 * close enough leases.</p>
 *
 * <p>The client must close the leases when it is done with them. You should do this in a
 * <code>finally</code> block. NOTE: You can use {@link #returnAll(Collection)} for this.</p>
 *
 * @param qty number of leases to acquire
 * @return the new leases
 * @throws Exception ZK errors, interruptions, etc.
 */
public Collection<Lease> acquire(int qty) throws Exception
{
    Preconditions.checkArgument(qty > 0, "qty cannot be 0");

    ImmutableList.Builder<Lease>    builder = ImmutableList.builder();
    try
    {
        while ( qty-- > 0 )
        {
            String      path = internals.attemptLock(-1, null, null);
            builder.add(makeLease(path));
        }
    }
    catch ( Exception e )
    {
        ThreadUtils.checkInterrupted(e);
        returnAll(builder.build());
        throw e;
    }
    return builder.build();
}
 
开发者ID:apache,项目名称:curator,代码行数:34,代码来源:InterProcessSemaphore.java


示例18: close

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
/**
 * Close the client
 */
public void close()
{
    log.debug("Closing");

    started.set(false);
    try
    {
        state.close();
    }
    catch ( IOException e )
    {
        ThreadUtils.checkInterrupted(e);
        log.error("", e);
    }
}
 
开发者ID:apache,项目名称:curator,代码行数:19,代码来源:CuratorZookeeperClient.java


示例19: close

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
@Override
public void close() throws IOException
{
    log.debug("Closing");

    CloseableUtils.closeQuietly(ensembleProvider);
    try
    {
        zooKeeper.closeAndClear();
    }
    catch ( Exception e )
    {
        ThreadUtils.checkInterrupted(e);
        throw new IOException(e);
    }
    finally
    {
        isConnected.set(false);
    }
}
 
开发者ID:apache,项目名称:curator,代码行数:21,代码来源:ConnectionState.java


示例20: callWithRetry

import org.apache.curator.utils.ThreadUtils; //导入依赖的package包/类
@Override
public <T> T callWithRetry(CuratorZookeeperClient client, Callable<T> proc) throws Exception
{
    client.internalBlockUntilConnectedOrTimedOut();

    T result = null;
    RetryLoop retryLoop = client.newRetryLoop();
    while ( retryLoop.shouldContinue() )
    {
        try
        {
            result = proc.call();
            retryLoop.markComplete();
        }
        catch ( Exception e )
        {
            ThreadUtils.checkInterrupted(e);
            retryLoop.takeException(e);
        }
    }

    return result;
}
 
开发者ID:apache,项目名称:curator,代码行数:24,代码来源:StandardConnectionHandlingPolicy.java



注:本文中的org.apache.curator.utils.ThreadUtils类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java DnsDiscovery类代码示例发布时间:2022-05-21
下一篇:
Java ColumnPrefixFilter类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap