com.alibaba.dubbo.config.provider.impl.DemoServiceImpl Java Examples
The following examples show how to use
com.alibaba.dubbo.config.provider.impl.DemoServiceImpl.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ReferenceConfigTest.java From dubbo-2.6.5 with Apache License 2.0 | 5 votes |
@Test public void testInjvm() throws Exception { ApplicationConfig application = new ApplicationConfig(); application.setName("test-protocol-random-port"); RegistryConfig registry = new RegistryConfig(); registry.setAddress("multicast://224.5.6.7:1234"); ProtocolConfig protocol = new ProtocolConfig(); protocol.setName("dubbo"); ServiceConfig<DemoService> demoService; demoService = new ServiceConfig<DemoService>(); demoService.setInterface(DemoService.class); demoService.setRef(new DemoServiceImpl()); demoService.setApplication(application); demoService.setRegistry(registry); demoService.setProtocol(protocol); ReferenceConfig<DemoService> rc = new ReferenceConfig<DemoService>(); rc.setApplication(application); rc.setRegistry(registry); rc.setInterface(DemoService.class.getName()); rc.setInjvm(false); try { demoService.export(); rc.get(); Assert.assertTrue(!Constants.LOCAL_PROTOCOL.equalsIgnoreCase( rc.getInvoker().getUrl().getProtocol())); } finally { demoService.unexport(); } }
Example #2
Source File: GenericServiceTest.java From dubbo-2.6.5 with Apache License 2.0 | 5 votes |
@SuppressWarnings("unchecked") @Test public void testGenericReferenceException() { ServiceConfig<DemoService> service = new ServiceConfig<DemoService>(); service.setApplication(new ApplicationConfig("generic-provider")); service.setRegistry(new RegistryConfig("N/A")); service.setProtocol(new ProtocolConfig("dubbo", 29581)); service.setInterface(DemoService.class.getName()); service.setRef(new DemoServiceImpl()); service.export(); try { ReferenceConfig<GenericService> reference = new ReferenceConfig<GenericService>(); reference.setApplication(new ApplicationConfig("generic-consumer")); reference.setInterface(DemoService.class); reference.setUrl("dubbo://127.0.0.1:29581?scope=remote&timeout=3000"); reference.setGeneric(true); GenericService genericService = reference.get(); try { List<Map<String, Object>> users = new ArrayList<Map<String, Object>>(); Map<String, Object> user = new HashMap<String, Object>(); user.put("class", "com.alibaba.dubbo.config.api.User"); user.put("name", "actual.provider"); users.add(user); users = (List<Map<String, Object>>) genericService.$invoke("getUsers", new String[]{List.class.getName()}, new Object[]{users}); Assert.assertEquals(1, users.size()); Assert.assertEquals("actual.provider", users.get(0).get("name")); } finally { reference.destroy(); } } finally { service.unexport(); } }
Example #3
Source File: ReferenceConfigTest.java From dubbox with Apache License 2.0 | 5 votes |
@Test public void testInjvm() throws Exception { ApplicationConfig application = new ApplicationConfig(); application.setName("test-protocol-random-port"); RegistryConfig registry = new RegistryConfig(); registry.setAddress("multicast://224.5.6.7:1234"); ProtocolConfig protocol = new ProtocolConfig(); protocol.setName("dubbo"); ServiceConfig<DemoService> demoService; demoService = new ServiceConfig<DemoService>(); demoService.setInterface(DemoService.class); demoService.setRef(new DemoServiceImpl()); demoService.setApplication(application); demoService.setRegistry(registry); demoService.setProtocol(protocol); ReferenceConfig<DemoService> rc = new ReferenceConfig<DemoService>(); rc.setApplication(application); rc.setRegistry(registry); rc.setInterface(DemoService.class.getName()); rc.setInjvm(false); try { demoService.export(); rc.get(); Assert.assertTrue(!Constants.LOCAL_PROTOCOL.equalsIgnoreCase( rc.getInvoker().getUrl().getProtocol())); } finally { demoService.unexport(); } }
Example #4
Source File: GenericServiceTest.java From dubbox with Apache License 2.0 | 5 votes |
@SuppressWarnings("unchecked") @Test public void testGenericReferenceException() { ServiceConfig<DemoService> service = new ServiceConfig<DemoService>(); service.setApplication(new ApplicationConfig("generic-provider")); service.setRegistry(new RegistryConfig("N/A")); service.setProtocol(new ProtocolConfig("dubbo", 29581)); service.setInterface(DemoService.class.getName()); service.setRef(new DemoServiceImpl()); service.export(); try { ReferenceConfig<GenericService> reference = new ReferenceConfig<GenericService>(); reference.setApplication(new ApplicationConfig("generic-consumer")); reference.setInterface(DemoService.class); reference.setUrl("dubbo://127.0.0.1:29581?scope=remote"); reference.setGeneric(true); GenericService genericService = reference.get(); try { List<Map<String, Object>> users = new ArrayList<Map<String, Object>>(); Map<String, Object> user = new HashMap<String, Object>(); user.put("class", "com.alibaba.dubbo.config.api.User"); user.put("name", "actual.provider"); users.add(user); users = (List<Map<String, Object>>) genericService.$invoke("getUsers", new String[]{List.class.getName()}, new Object[]{users}); Assert.assertEquals(1, users.size()); Assert.assertEquals("actual.provider", users.get(0).get("name")); } finally { reference.destroy(); } } finally { service.unexport(); } }
Example #5
Source File: GenericServiceTest.java From dubbox with Apache License 2.0 | 5 votes |
@SuppressWarnings("unchecked") @Test public void testGenericReferenceException() { ServiceConfig<DemoService> service = new ServiceConfig<DemoService>(); service.setApplication(new ApplicationConfig("generic-provider")); service.setRegistry(new RegistryConfig("N/A")); service.setProtocol(new ProtocolConfig("dubbo", 29581)); service.setInterface(DemoService.class.getName()); service.setRef(new DemoServiceImpl()); service.export(); try { ReferenceConfig<GenericService> reference = new ReferenceConfig<GenericService>(); reference.setApplication(new ApplicationConfig("generic-consumer")); reference.setInterface(DemoService.class); reference.setUrl("dubbo://127.0.0.1:29581?scope=remote"); reference.setGeneric(true); GenericService genericService = reference.get(); try { List<Map<String, Object>> users = new ArrayList<Map<String, Object>>(); Map<String, Object> user = new HashMap<String, Object>(); user.put("class", "com.alibaba.dubbo.config.api.User"); user.put("name", "actual.provider"); users.add(user); users = (List<Map<String, Object>>) genericService.$invoke("getUsers", new String[]{List.class.getName()}, new Object[]{users}); Assert.assertEquals(1, users.size()); Assert.assertEquals("actual.provider", users.get(0).get("name")); } finally { reference.destroy(); } } finally { service.unexport(); } }
Example #6
Source File: ReferenceConfigTest.java From dubbox-hystrix with Apache License 2.0 | 5 votes |
@Test public void testInjvm() throws Exception { ApplicationConfig application = new ApplicationConfig(); application.setName("test-protocol-random-port"); RegistryConfig registry = new RegistryConfig(); registry.setAddress("multicast://224.5.6.7:1234"); ProtocolConfig protocol = new ProtocolConfig(); protocol.setName("dubbo"); ServiceConfig<DemoService> demoService; demoService = new ServiceConfig<DemoService>(); demoService.setInterface(DemoService.class); demoService.setRef(new DemoServiceImpl()); demoService.setApplication(application); demoService.setRegistry(registry); demoService.setProtocol(protocol); ReferenceConfig<DemoService> rc = new ReferenceConfig<DemoService>(); rc.setApplication(application); rc.setRegistry(registry); rc.setInterface(DemoService.class.getName()); rc.setInjvm(false); try { demoService.export(); rc.get(); Assert.assertTrue(!Constants.LOCAL_PROTOCOL.equalsIgnoreCase( rc.getInvoker().getUrl().getProtocol())); } finally { demoService.unexport(); } }
Example #7
Source File: GenericServiceTest.java From dubbox-hystrix with Apache License 2.0 | 5 votes |
@SuppressWarnings("unchecked") @Test public void testGenericReferenceException() { ServiceConfig<DemoService> service = new ServiceConfig<DemoService>(); service.setApplication(new ApplicationConfig("generic-provider")); service.setRegistry(new RegistryConfig("N/A")); service.setProtocol(new ProtocolConfig("dubbo", 29581)); service.setInterface(DemoService.class.getName()); service.setRef(new DemoServiceImpl()); service.export(); try { ReferenceConfig<GenericService> reference = new ReferenceConfig<GenericService>(); reference.setApplication(new ApplicationConfig("generic-consumer")); reference.setInterface(DemoService.class); reference.setUrl("dubbo://127.0.0.1:29581?scope=remote"); reference.setGeneric(true); GenericService genericService = reference.get(); try { List<Map<String, Object>> users = new ArrayList<Map<String, Object>>(); Map<String, Object> user = new HashMap<String, Object>(); user.put("class", "com.alibaba.dubbo.config.api.User"); user.put("name", "actual.provider"); users.add(user); users = (List<Map<String, Object>>) genericService.$invoke("getUsers", new String[]{List.class.getName()}, new Object[]{users}); Assert.assertEquals(1, users.size()); Assert.assertEquals("actual.provider", users.get(0).get("name")); } finally { reference.destroy(); } } finally { service.unexport(); } }
Example #8
Source File: ReferenceConfigTest.java From dubbox with Apache License 2.0 | 5 votes |
@Test public void testInjvm() throws Exception { ApplicationConfig application = new ApplicationConfig(); application.setName("test-protocol-random-port"); RegistryConfig registry = new RegistryConfig(); registry.setAddress("multicast://224.5.6.7:1234"); ProtocolConfig protocol = new ProtocolConfig(); protocol.setName("dubbo"); ServiceConfig<DemoService> demoService; demoService = new ServiceConfig<DemoService>(); demoService.setInterface(DemoService.class); demoService.setRef(new DemoServiceImpl()); demoService.setApplication(application); demoService.setRegistry(registry); demoService.setProtocol(protocol); ReferenceConfig<DemoService> rc = new ReferenceConfig<DemoService>(); rc.setApplication(application); rc.setRegistry(registry); rc.setInterface(DemoService.class.getName()); rc.setInjvm(false); try { demoService.export(); rc.get(); Assert.assertTrue(!Constants.LOCAL_PROTOCOL.equalsIgnoreCase( rc.getInvoker().getUrl().getProtocol())); } finally { demoService.unexport(); } }
Example #9
Source File: ReferenceConfigTest.java From dubbo3 with Apache License 2.0 | 5 votes |
@Test public void testInjvm() throws Exception { ApplicationConfig application = new ApplicationConfig(); application.setName("test-protocol-random-port"); RegistryConfig registry = new RegistryConfig(); registry.setAddress("multicast://224.5.6.7:1234"); ProtocolConfig protocol = new ProtocolConfig(); protocol.setName("dubbo"); ServiceConfig<DemoService> demoService; demoService = new ServiceConfig<DemoService>(); demoService.setInterface(DemoService.class); demoService.setRef(new DemoServiceImpl()); demoService.setApplication(application); demoService.setRegistry(registry); demoService.setProtocol(protocol); ReferenceConfig<DemoService> rc = new ReferenceConfig<DemoService>(); rc.setApplication(application); rc.setRegistry(registry); rc.setInterface(DemoService.class.getName()); rc.setInjvm(false); try { demoService.export(); rc.get(); Assert.assertTrue(!Constants.LOCAL_PROTOCOL.equalsIgnoreCase( rc.getInvoker().getUrl().getProtocol())); } finally { demoService.unexport(); } }
Example #10
Source File: GenericServiceTest.java From dubbo3 with Apache License 2.0 | 5 votes |
@SuppressWarnings("unchecked") @Test public void testGenericReferenceException() { ServiceConfig<DemoService> service = new ServiceConfig<DemoService>(); service.setApplication(new ApplicationConfig("generic-provider")); service.setRegistry(new RegistryConfig("N/A")); service.setProtocol(new ProtocolConfig("dubbo", 29581)); service.setInterface(DemoService.class.getName()); service.setRef(new DemoServiceImpl()); service.export(); try { ReferenceConfig<GenericService> reference = new ReferenceConfig<GenericService>(); reference.setApplication(new ApplicationConfig("generic-consumer")); reference.setInterface(DemoService.class); reference.setUrl("dubbo://127.0.0.1:29581?scope=remote"); reference.setGeneric(true); GenericService genericService = reference.get(); try { List<Map<String, Object>> users = new ArrayList<Map<String, Object>>(); Map<String, Object> user = new HashMap<String, Object>(); user.put("class", "com.alibaba.dubbo.config.api.User"); user.put("name", "actual.provider"); users.add(user); users = (List<Map<String, Object>>) genericService.$invoke("getUsers", new String[]{List.class.getName()}, new Object[]{users}); Assert.assertEquals(1, users.size()); Assert.assertEquals("actual.provider", users.get(0).get("name")); } finally { reference.destroy(); } } finally { service.unexport(); } }
Example #11
Source File: ReferenceConfigTest.java From dubbox with Apache License 2.0 | 5 votes |
@Test public void testInjvm() throws Exception { ApplicationConfig application = new ApplicationConfig(); application.setName("test-protocol-random-port"); RegistryConfig registry = new RegistryConfig(); registry.setAddress("multicast://224.5.6.7:1234"); ProtocolConfig protocol = new ProtocolConfig(); protocol.setName("dubbo"); ServiceConfig<DemoService> demoService; demoService = new ServiceConfig<DemoService>(); demoService.setInterface(DemoService.class); demoService.setRef(new DemoServiceImpl()); demoService.setApplication(application); demoService.setRegistry(registry); demoService.setProtocol(protocol); ReferenceConfig<DemoService> rc = new ReferenceConfig<DemoService>(); rc.setApplication(application); rc.setRegistry(registry); rc.setInterface(DemoService.class.getName()); rc.setInjvm(false); try { demoService.export(); rc.get(); Assert.assertTrue(!Constants.LOCAL_PROTOCOL.equalsIgnoreCase( rc.getInvoker().getUrl().getProtocol())); } finally { demoService.unexport(); } }
Example #12
Source File: GenericServiceTest.java From dubbox with Apache License 2.0 | 5 votes |
@SuppressWarnings("unchecked") @Test public void testGenericReferenceException() { ServiceConfig<DemoService> service = new ServiceConfig<DemoService>(); service.setApplication(new ApplicationConfig("generic-provider")); service.setRegistry(new RegistryConfig("N/A")); service.setProtocol(new ProtocolConfig("dubbo", 29581)); service.setInterface(DemoService.class.getName()); service.setRef(new DemoServiceImpl()); service.export(); try { ReferenceConfig<GenericService> reference = new ReferenceConfig<GenericService>(); reference.setApplication(new ApplicationConfig("generic-consumer")); reference.setInterface(DemoService.class); reference.setUrl("dubbo://127.0.0.1:29581?scope=remote"); reference.setGeneric(true); GenericService genericService = reference.get(); try { List<Map<String, Object>> users = new ArrayList<Map<String, Object>>(); Map<String, Object> user = new HashMap<String, Object>(); user.put("class", "com.alibaba.dubbo.config.api.User"); user.put("name", "actual.provider"); users.add(user); users = (List<Map<String, Object>>) genericService.$invoke("getUsers", new String[]{List.class.getName()}, new Object[]{users}); Assert.assertEquals(1, users.size()); Assert.assertEquals("actual.provider", users.get(0).get("name")); } finally { reference.destroy(); } } finally { service.unexport(); } }
Example #13
Source File: GenericServiceTest.java From dubbox with Apache License 2.0 | 4 votes |
@Test public void testGenericSerializationJava() throws Exception { ServiceConfig<DemoService> service = new ServiceConfig<DemoService>(); service.setApplication(new ApplicationConfig("generic-provider")); service.setRegistry(new RegistryConfig("N/A")); service.setProtocol(new ProtocolConfig("dubbo", 29581)); service.setInterface(DemoService.class.getName()); DemoServiceImpl ref = new DemoServiceImpl(); service.setRef(ref); service.export(); try { ReferenceConfig<GenericService> reference = new ReferenceConfig<GenericService>(); reference.setApplication(new ApplicationConfig("generic-consumer")); reference.setInterface(DemoService.class); reference.setUrl("dubbo://127.0.0.1:29581?scope=remote"); reference.setGeneric(Constants.GENERIC_SERIALIZATION_NATIVE_JAVA); GenericService genericService = reference.get(); try { String name = "kimi"; ByteArrayOutputStream bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").serialize(null, bos).writeObject(name); byte[] arg = bos.toByteArray(); Object obj = genericService.$invoke("sayName", new String[]{String.class.getName()}, new Object[]{arg}); Assert.assertTrue(obj instanceof byte[]); byte[] result = (byte[]) obj; Assert.assertEquals(ref.sayName(name), ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").deserialize(null, new ByteArrayInputStream(result)).readObject().toString()); // getUsers List<User> users = new ArrayList<User>(); User user = new User(); user.setName(name); users.add(user); bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").serialize(null, bos).writeObject(users); obj = genericService.$invoke("getUsers", new String[]{List.class.getName()}, new Object[]{bos.toByteArray()}); Assert.assertTrue(obj instanceof byte[]); result = (byte[]) obj; Assert.assertEquals(users, ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava") .deserialize(null, new ByteArrayInputStream(result)) .readObject()); // echo(int) bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class).getExtension("nativejava") .serialize(null, bos).writeObject(Integer.MAX_VALUE); obj = genericService.$invoke("echo", new String[]{int.class.getName()}, new Object[]{bos.toByteArray()}); Assert.assertTrue(obj instanceof byte[]); Assert.assertEquals(Integer.MAX_VALUE, ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava") .deserialize(null, new ByteArrayInputStream((byte[]) obj)) .readObject()); } finally { reference.destroy(); } } finally { service.unexport(); } }
Example #14
Source File: GenericServiceTest.java From dubbox with Apache License 2.0 | 4 votes |
@Test public void testGenericSerializationJava() throws Exception { ServiceConfig<DemoService> service = new ServiceConfig<DemoService>(); service.setApplication(new ApplicationConfig("generic-provider")); service.setRegistry(new RegistryConfig("N/A")); service.setProtocol(new ProtocolConfig("dubbo", 29581)); service.setInterface(DemoService.class.getName()); DemoServiceImpl ref = new DemoServiceImpl(); service.setRef(ref); service.export(); try { ReferenceConfig<GenericService> reference = new ReferenceConfig<GenericService>(); reference.setApplication(new ApplicationConfig("generic-consumer")); reference.setInterface(DemoService.class); reference.setUrl("dubbo://127.0.0.1:29581?scope=remote"); reference.setGeneric(Constants.GENERIC_SERIALIZATION_NATIVE_JAVA); GenericService genericService = reference.get(); try { String name = "kimi"; ByteArrayOutputStream bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").serialize(null, bos).writeObject(name); byte[] arg = bos.toByteArray(); Object obj = genericService.$invoke("sayName", new String[]{String.class.getName()}, new Object[]{arg}); Assert.assertTrue(obj instanceof byte[]); byte[] result = (byte[]) obj; Assert.assertEquals(ref.sayName(name), ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").deserialize(null, new ByteArrayInputStream(result)).readObject().toString()); // getUsers List<User> users = new ArrayList<User>(); User user = new User(); user.setName(name); users.add(user); bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").serialize(null, bos).writeObject(users); obj = genericService.$invoke("getUsers", new String[]{List.class.getName()}, new Object[]{bos.toByteArray()}); Assert.assertTrue(obj instanceof byte[]); result = (byte[]) obj; Assert.assertEquals(users, ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava") .deserialize(null, new ByteArrayInputStream(result)) .readObject()); // echo(int) bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class).getExtension("nativejava") .serialize(null, bos).writeObject(Integer.MAX_VALUE); obj = genericService.$invoke("echo", new String[]{int.class.getName()}, new Object[]{bos.toByteArray()}); Assert.assertTrue(obj instanceof byte[]); Assert.assertEquals(Integer.MAX_VALUE, ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava") .deserialize(null, new ByteArrayInputStream((byte[]) obj)) .readObject()); } finally { reference.destroy(); } } finally { service.unexport(); } }
Example #15
Source File: GenericServiceTest.java From dubbo3 with Apache License 2.0 | 4 votes |
@Test public void testGenericSerializationJava() throws Exception { ServiceConfig<DemoService> service = new ServiceConfig<DemoService>(); service.setApplication(new ApplicationConfig("generic-provider")); service.setRegistry(new RegistryConfig("N/A")); service.setProtocol(new ProtocolConfig("dubbo", 29581)); service.setInterface(DemoService.class.getName()); DemoServiceImpl ref = new DemoServiceImpl(); service.setRef(ref); service.export(); try { ReferenceConfig<GenericService> reference = new ReferenceConfig<GenericService>(); reference.setApplication(new ApplicationConfig("generic-consumer")); reference.setInterface(DemoService.class); reference.setUrl("dubbo://127.0.0.1:29581?scope=remote"); reference.setGeneric(Constants.GENERIC_SERIALIZATION_NATIVE_JAVA); GenericService genericService = reference.get(); try { String name = "kimi"; ByteArrayOutputStream bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").serialize(null, bos).writeObject(name); byte[] arg = bos.toByteArray(); Object obj = genericService.$invoke("sayName", new String[]{String.class.getName()}, new Object[]{arg}); Assert.assertTrue(obj instanceof byte[]); byte[] result = (byte[]) obj; Assert.assertEquals(ref.sayName(name), ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").deserialize(null, new ByteArrayInputStream(result)).readObject().toString()); // getUsers List<User> users = new ArrayList<User>(); User user = new User(); user.setName(name); users.add(user); bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").serialize(null, bos).writeObject(users); obj = genericService.$invoke("getUsers", new String[]{List.class.getName()}, new Object[]{bos.toByteArray()}); Assert.assertTrue(obj instanceof byte[]); result = (byte[]) obj; Assert.assertEquals(users, ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava") .deserialize(null, new ByteArrayInputStream(result)) .readObject()); // echo(int) bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class).getExtension("nativejava") .serialize(null, bos).writeObject(Integer.MAX_VALUE); obj = genericService.$invoke("echo", new String[]{int.class.getName()}, new Object[]{bos.toByteArray()}); Assert.assertTrue(obj instanceof byte[]); Assert.assertEquals(Integer.MAX_VALUE, ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava") .deserialize(null, new ByteArrayInputStream((byte[]) obj)) .readObject()); } finally { reference.destroy(); } } finally { service.unexport(); } }
Example #16
Source File: GenericServiceTest.java From dubbox-hystrix with Apache License 2.0 | 4 votes |
@Test public void testGenericSerializationJava() throws Exception { ServiceConfig<DemoService> service = new ServiceConfig<DemoService>(); service.setApplication(new ApplicationConfig("generic-provider")); service.setRegistry(new RegistryConfig("N/A")); service.setProtocol(new ProtocolConfig("dubbo", 29581)); service.setInterface(DemoService.class.getName()); DemoServiceImpl ref = new DemoServiceImpl(); service.setRef(ref); service.export(); try { ReferenceConfig<GenericService> reference = new ReferenceConfig<GenericService>(); reference.setApplication(new ApplicationConfig("generic-consumer")); reference.setInterface(DemoService.class); reference.setUrl("dubbo://127.0.0.1:29581?scope=remote"); reference.setGeneric(Constants.GENERIC_SERIALIZATION_NATIVE_JAVA); GenericService genericService = reference.get(); try { String name = "kimi"; ByteArrayOutputStream bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").serialize(null, bos).writeObject(name); byte[] arg = bos.toByteArray(); Object obj = genericService.$invoke("sayName", new String[]{String.class.getName()}, new Object[]{arg}); Assert.assertTrue(obj instanceof byte[]); byte[] result = (byte[]) obj; Assert.assertEquals(ref.sayName(name), ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").deserialize(null, new ByteArrayInputStream(result)).readObject().toString()); // getUsers List<User> users = new ArrayList<User>(); User user = new User(); user.setName(name); users.add(user); bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").serialize(null, bos).writeObject(users); obj = genericService.$invoke("getUsers", new String[]{List.class.getName()}, new Object[]{bos.toByteArray()}); Assert.assertTrue(obj instanceof byte[]); result = (byte[]) obj; Assert.assertEquals(users, ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava") .deserialize(null, new ByteArrayInputStream(result)) .readObject()); // echo(int) bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class).getExtension("nativejava") .serialize(null, bos).writeObject(Integer.MAX_VALUE); obj = genericService.$invoke("echo", new String[]{int.class.getName()}, new Object[]{bos.toByteArray()}); Assert.assertTrue(obj instanceof byte[]); Assert.assertEquals(Integer.MAX_VALUE, ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava") .deserialize(null, new ByteArrayInputStream((byte[]) obj)) .readObject()); } finally { reference.destroy(); } } finally { service.unexport(); } }
Example #17
Source File: GenericServiceTest.java From dubbox with Apache License 2.0 | 4 votes |
@Test public void testGenericSerializationJava() throws Exception { ServiceConfig<DemoService> service = new ServiceConfig<DemoService>(); service.setApplication(new ApplicationConfig("generic-provider")); service.setRegistry(new RegistryConfig("N/A")); service.setProtocol(new ProtocolConfig("dubbo", 29581)); service.setInterface(DemoService.class.getName()); DemoServiceImpl ref = new DemoServiceImpl(); service.setRef(ref); service.export(); try { ReferenceConfig<GenericService> reference = new ReferenceConfig<GenericService>(); reference.setApplication(new ApplicationConfig("generic-consumer")); reference.setInterface(DemoService.class); reference.setUrl("dubbo://127.0.0.1:29581?scope=remote"); reference.setGeneric(Constants.GENERIC_SERIALIZATION_NATIVE_JAVA); GenericService genericService = reference.get(); try { String name = "kimi"; ByteArrayOutputStream bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").serialize(null, bos).writeObject(name); byte[] arg = bos.toByteArray(); Object obj = genericService.$invoke("sayName", new String[]{String.class.getName()}, new Object[]{arg}); Assert.assertTrue(obj instanceof byte[]); byte[] result = (byte[]) obj; Assert.assertEquals(ref.sayName(name), ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").deserialize(null, new ByteArrayInputStream(result)).readObject().toString()); // getUsers List<User> users = new ArrayList<User>(); User user = new User(); user.setName(name); users.add(user); bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava").serialize(null, bos).writeObject(users); obj = genericService.$invoke("getUsers", new String[]{List.class.getName()}, new Object[]{bos.toByteArray()}); Assert.assertTrue(obj instanceof byte[]); result = (byte[]) obj; Assert.assertEquals(users, ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava") .deserialize(null, new ByteArrayInputStream(result)) .readObject()); // echo(int) bos = new ByteArrayOutputStream(512); ExtensionLoader.getExtensionLoader(Serialization.class).getExtension("nativejava") .serialize(null, bos).writeObject(Integer.MAX_VALUE); obj = genericService.$invoke("echo", new String[]{int.class.getName()}, new Object[]{bos.toByteArray()}); Assert.assertTrue(obj instanceof byte[]); Assert.assertEquals(Integer.MAX_VALUE, ExtensionLoader.getExtensionLoader(Serialization.class) .getExtension("nativejava") .deserialize(null, new ByteArrayInputStream((byte[]) obj)) .readObject()); } finally { reference.destroy(); } } finally { service.unexport(); } }
Example #18
Source File: ServiceConfigTest.java From dubbo-2.6.5 with Apache License 2.0 | 4 votes |
@Test(expected = IllegalStateException.class) public void testInterface1() throws Exception { ServiceConfig<DemoService> service = new ServiceConfig<DemoService>(); service.setInterface(DemoServiceImpl.class); }