com.alibaba.dubbo.common.beanutil.JavaBeanDescriptor Java Examples
The following examples show how to use
com.alibaba.dubbo.common.beanutil.JavaBeanDescriptor.
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: HessianProtocolTest.java From dubbo-2.6.5 with Apache License 2.0 | 6 votes |
@Test public void testGenericInvokeWithBean() { HessianServiceImpl server = new HessianServiceImpl(); Assert.assertFalse(server.isCalled()); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("hessian://127.0.0.1:5342/" + HessianService.class.getName() + "?version=1.0.0&generic=bean"); Exporter<HessianService> exporter = protocol.export(proxyFactory.getInvoker(server, HessianService.class, url)); Invoker<GenericService> invoker = protocol.refer(GenericService.class, url); GenericService client = proxyFactory.getProxy(invoker); JavaBeanDescriptor javaBeanDescriptor = JavaBeanSerializeUtil.serialize("haha"); Object result = client.$invoke("sayHello", new String[]{"java.lang.String"}, new Object[]{javaBeanDescriptor}); Assert.assertTrue(server.isCalled()); Assert.assertEquals("Hello, haha", JavaBeanSerializeUtil.deserialize((JavaBeanDescriptor) result)); invoker.destroy(); exporter.unexport(); }
Example #2
Source File: HttpProtocolTest.java From dubbo-2.6.5 with Apache License 2.0 | 6 votes |
@Test public void testGenericInvokeWithBean() { HttpServiceImpl server = new HttpServiceImpl(); Assert.assertFalse(server.isCalled()); ProxyFactory proxyFactory = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension(); Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); URL url = URL.valueOf("http://127.0.0.1:5342/" + HttpService.class.getName() + "?version=1.0.0&generic=bean"); Exporter<HttpService> exporter = protocol.export(proxyFactory.getInvoker(server, HttpService.class, url)); Invoker<GenericService> invoker = protocol.refer(GenericService.class, url); GenericService client = proxyFactory.getProxy(invoker); JavaBeanDescriptor javaBeanDescriptor = JavaBeanSerializeUtil.serialize("haha"); Object result = client.$invoke("sayHello", new String[]{"java.lang.String"}, new Object[]{javaBeanDescriptor}); Assert.assertTrue(server.isCalled()); Assert.assertEquals("Hello, haha", JavaBeanSerializeUtil.deserialize((JavaBeanDescriptor) result)); invoker.destroy(); exporter.unexport(); }
Example #3
Source File: ITTracingFilter_Provider.java From brave with Apache License 2.0 | 6 votes |
@Before public void setup() { server.service.setFilter("tracing"); server.service.setInterface(GreeterService.class); server.service.setRef((method, parameterTypes, args) -> { JavaBeanDescriptor arg = (JavaBeanDescriptor) args[0]; if (arg.getProperty("value").equals("bad")) { throw new IllegalArgumentException("bad"); } String value = currentTraceContext.get() != null ? currentTraceContext.get().traceIdString() : ""; arg.setProperty("value", value); return args[0]; }); server.start(); ReferenceConfig<GreeterService> ref = new ReferenceConfig<>(); ref.setApplication(new ApplicationConfig("bean-consumer")); ref.setInterface(GreeterService.class); ref.setUrl("dubbo://" + server.ip() + ":" + server.port() + "?scope=remote&generic=bean"); client = ref; init(); }
Example #4
Source File: ITTracingFilter_Consumer.java From brave with Apache License 2.0 | 5 votes |
@Test public void customParser() { Tag<DubboResponse> javaValue = new Tag<DubboResponse>("dubbo.result_value") { @Override protected String parseValue(DubboResponse input, TraceContext context) { Result result = input.result(); if (result == null) return null; Object value = result.getValue(); if (value instanceof JavaBeanDescriptor) { return String.valueOf(((JavaBeanDescriptor) value).getProperty("value")); } return null; } }; RpcTracing rpcTracing = RpcTracing.newBuilder(tracing) .clientResponseParser((res, context, span) -> { RpcResponseParser.DEFAULT.parse(res, context, span); if (res instanceof DubboResponse) { javaValue.tag((DubboResponse) res, span); } }).build(); init().setRpcTracing(rpcTracing); String javaResult = client.get().sayHello("jorge"); assertThat(testSpanHandler.takeRemoteSpan(CLIENT).tags()) .containsEntry("dubbo.result_value", javaResult); }
Example #5
Source File: ITTracingFilter_Provider.java From brave with Apache License 2.0 | 5 votes |
@Test public void customParser() { Tag<DubboResponse> javaValue = new Tag<DubboResponse>("dubbo.result_value") { @Override protected String parseValue(DubboResponse input, TraceContext context) { Result result = input.result(); if (result == null) return null; Object value = result.getValue(); if (value instanceof JavaBeanDescriptor) { return String.valueOf(((JavaBeanDescriptor) value).getProperty("value")); } return null; } }; RpcTracing rpcTracing = RpcTracing.newBuilder(tracing) .serverResponseParser((res, context, span) -> { RpcResponseParser.DEFAULT.parse(res, context, span); if (res instanceof DubboResponse) { javaValue.tag((DubboResponse) res, span); } }) .build(); init().setRpcTracing(rpcTracing); String javaResult = client.get().sayHello("jorge"); assertThat(testSpanHandler.takeRemoteSpan(SERVER).tags()) .containsEntry("dubbo.result_value", javaResult); }