package org.jgroups.tests; import org.jgroups.util.DefaultThreadFactory; import org.jgroups.Global; import org.testng.annotations.Test; /** * @author Bela Ban */ @Test(groups=Global.FUNCTIONAL,sequential=true) public class ThreadFactoryTest { private DefaultThreadFactory factory; private static final String BASE="base"; private static final String ADDR="192.168.1.5:12345"; private static final String CLUSTER="MyCluster"; public void testNoNumbering() { factory=new DefaultThreadFactory(BASE, true, false); Thread thread=factory.newThread(new MyRunnable(), BASE); String name=thread.getName(); System.out.println("name = " + name); assert name.equals(BASE); } public void testNumbering() { factory=new DefaultThreadFactory(BASE, true, true); Thread thread=factory.newThread(new MyRunnable(), BASE); String name=thread.getName(); System.out.println("name = " + name); assert name.equals("base-1"); thread=factory.newThread(new MyRunnable(), BASE); name=thread.getName(); System.out.println("name = " + name); assert name.equals("base-2"); } public void testPatterns() { factory=new DefaultThreadFactory(BASE, true, false); factory.setAddress(ADDR); Thread thread=factory.newThread(new MyRunnable(), BASE); String name=thread.getName(); System.out.println("name = " + name); assert name.equals(BASE); factory.setPattern("l"); thread=factory.newThread(new MyRunnable(), BASE); name=thread.getName(); System.out.println("name = " + name); assert name.equals(BASE + "," + ADDR); factory.setPattern("cl"); factory.setClusterName(CLUSTER); thread=factory.newThread(new MyRunnable(), BASE); name=thread.getName(); System.out.println("name = " + name); assert name.equals(BASE + "," + CLUSTER + "," + ADDR); } static class MyRunnable implements Runnable { public void run() {} } }