⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xfireserviceregistervisitortest.java

📁 Xfire文件 用于开发web service 的一个开源工具 很好用的
💻 JAVA
字号:
package org.codehaus.xfire.picocontainer;import java.lang.reflect.Method;import javax.xml.namespace.QName;import org.codehaus.xfire.picocontainer.test.PicoXFireTest;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.ServiceFactory;import org.codehaus.xfire.service.ServiceRegistry;import org.codehaus.xfire.service.invoker.Invoker;import org.picocontainer.defaults.CachingComponentAdapter;import org.picocontainer.defaults.ConstructorInjectionComponentAdapter;public class XFireServiceRegisterVisitorTest    extends PicoXFireTest{    public int instanceCount = 0;    public int callCount = 0;    private XFireServiceRegisterVisitor xfireVisitor;    public void setUp()        throws Exception    {        super.setUp();        instanceCount = 0;        callCount = 0;        // Create using PicoObjectServiceFactory and put the Service into the        // pico.        ServiceFactory sf = getServiceFactory();        Service ms = sf.create(DummyServiceThatCounts.class);        ms.setName(new QName("test"));        getPico().registerComponentInstance(ms);        // Register XFireServiceRegisterVisitor and its dependency into the        // pico.        getPico().registerComponentInstance(ServiceRegistry.class, getXFire().getServiceRegistry());        getPico().registerComponentImplementation(XFireServiceRegisterVisitor.class);        // Get XFireServiceRegisterVisitor and execute it, now out last created        // Service must be registred.        xfireVisitor = (XFireServiceRegisterVisitor) getPico()                .getComponentInstanceOfType(XFireServiceRegisterVisitor.class);        getPico().accept(xfireVisitor);    }    public void testCachedServiceObject()        throws Exception    {        // Put DummyServiceThatCounts and its dependency into the pico. Its        // going to be cached, just one instance for container.        getPico().registerComponent(new CachingComponentAdapter(                new ConstructorInjectionComponentAdapter(DummyServiceThatCounts.class,                        DummyServiceThatCounts.class)));        getPico().registerComponentInstance(this);        // Execute it 3 times.        ServiceRegistry sr = (ServiceRegistry) getPico()                .getComponentInstance(ServiceRegistry.class);        assertNotNull(sr);        Service endpoint = sr.getService("test");        assertNotNull(endpoint);        Invoker invoker = endpoint.getInvoker();        assertNotNull(invoker);        Method method = DummyServiceThatCounts.class.getMethod("theMethod", new Class[] {});        assertNotNull(method);        invoker.invoke(method, new Object[] {}, null);        invoker.invoke(method, new Object[] {}, null);        invoker.invoke(method, new Object[] {}, null);        // Assert it        assertEquals(1, instanceCount);        assertEquals(3, callCount);    }    public void testNotCachedServiceObject()        throws Exception    {        // Put DummyServiceThatCounts and its dependency into the pico. Its        // going to NOT be cached, one instance by request.        getPico().registerComponent(new ConstructorInjectionComponentAdapter(                DummyServiceThatCounts.class, DummyServiceThatCounts.class));        getPico().registerComponentInstance(this);        // Execute it 3 times.        ServiceRegistry sr = (ServiceRegistry) getPico()                .getComponentInstance(ServiceRegistry.class);        assertNotNull(sr);        Service endpoint = sr.getService("test");        assertNotNull(endpoint);        Invoker invoker = endpoint.getInvoker();        assertNotNull(invoker);        Method method = DummyServiceThatCounts.class.getMethod("theMethod", new Class[] {});        assertNotNull(method);        invoker.invoke(method, new Object[] {}, null);        invoker.invoke(method, new Object[] {}, null);        invoker.invoke(method, new Object[] {}, null);        // Assert it        assertEquals(3, instanceCount);        assertEquals(3, callCount);    }        public class DummyServiceThatCounts    {        private final XFireServiceRegisterVisitorTest test;        public DummyServiceThatCounts(XFireServiceRegisterVisitorTest test)        {            this.test = test;            this.test.instanceCount++;        }        public void theMethod()        {            test.callCount++;            return;        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -