当前位置: 首页>>代码示例>>Java>>正文


Java NamedThreadLocal类代码示例

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


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

示例1: get

import org.springframework.core.NamedThreadLocal; //导入依赖的package包/类
@Override
public Object get(String name, ObjectFactory<?> objectFactory) {
  try {
    Object mutex = RequestContextHolder.currentRequestAttributes().getSessionMutex();
    synchronized (mutex) {
      return super.get(name, objectFactory);
    }
  } catch (IllegalStateException e) {
    logger.debug("outside web session");
    ThreadLocal<Object> objectHolder = objectHolders.get(name);
    if (objectHolder == null) {
      objectHolders.put(name, new NamedThreadLocal<>("wideScopeObjectHolder_" + name));
      objectHolder = objectHolders.get(name);
    }

    if (objectHolder.get() == null) {
      objectHolder.set(objectFactory.getObject());
    }
    return objectHolder.get();
  }
}
 
开发者ID:tunguski,项目名称:matsuo-core,代码行数:22,代码来源:WideSessionScope.java

示例2: test

import org.springframework.core.NamedThreadLocal; //导入依赖的package包/类
@Test
public void test(){
    final ThreadLocal<Object> prototypesCurrentlyInCreation =
            new NamedThreadLocal<Object>("Prototype beans currently in creation");

    Assert.assertNull(prototypesCurrentlyInCreation.get());
    prototypesCurrentlyInCreation.set("abc");
    Assert.assertNotNull(prototypesCurrentlyInCreation.get());
    prototypesCurrentlyInCreation.set(new HashSet<String>());
    Assert.assertNotNull(prototypesCurrentlyInCreation.get());
    prototypesCurrentlyInCreation.remove();
    Assert.assertNull(prototypesCurrentlyInCreation.get());
    System.out.println(prototypesCurrentlyInCreation.toString());
}
 
开发者ID:whyDK37,项目名称:pinenut,代码行数:15,代码来源:ThreadLocalTest.java


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