use of com.alipay.sofa.runtime.api.client.param.ServiceParam in project sofa-boot by sofastack.
the class ClientFactoryAwareBean method afterPropertiesSet.
@Override
public void afterPropertiesSet() {
ServiceParam serviceParam = new ServiceParam();
serviceParam.setInstance(new DefaultSampleService(ClientFactory.class.getName()));
serviceParam.setInterfaceType(SampleService.class);
serviceParam.setUniqueId("clientFactory");
clientFactory.getClient(ServiceClient.class).service(serviceParam);
}
use of com.alipay.sofa.runtime.api.client.param.ServiceParam in project sofa-boot by sofastack.
the class SofaBootRpcAllTest method testRestSwaggerAddService.
@Test
public void testRestSwaggerAddService() throws IOException {
List<BindingParam> bindingParams = new ArrayList<>();
bindingParams.add(new RestBindingParam());
ServiceParam serviceParam = new ServiceParam();
serviceParam.setInterfaceType(AddService.class);
serviceParam.setInstance((AddService) () -> "Hello");
serviceParam.setBindingParams(bindingParams);
ServiceClient serviceClient = clientFactory.getClient(ServiceClient.class);
serviceClient.service(serviceParam);
HttpClient httpClient = HttpClientBuilder.create().build();
HttpUriRequest request = new HttpGet("http://localhost:8341/swagger/openapi");
HttpResponse response = httpClient.execute(request);
Assert.assertEquals(200, response.getStatusLine().getStatusCode());
Assert.assertTrue(EntityUtils.toString(response.getEntity()).contains("/webapi/add_service"));
}
use of com.alipay.sofa.runtime.api.client.param.ServiceParam in project sofa-boot by sofastack.
the class ClientFactoryTest method testBindingInstanceIsNotAssignableFromInterfaceType.
@Test
public void testBindingInstanceIsNotAssignableFromInterfaceType() throws IOException {
String logRootPath = StringUtils.hasText(System.getProperty("logging.path")) ? System.getProperty("logging.path") : "./logs";
File sofaLog = new File(logRootPath + File.separator + "sofa-runtime" + File.separator + "sofa-default.log");
FileUtils.write(sofaLog, "", System.getProperty("file.encoding"));
SofaRuntimeProperties.setServiceInterfaceTypeCheck(true);
JvmBindingParam jvmBindingParam = new JvmBindingParam();
jvmBindingParam.setSerialize(true);
ServiceParam serviceParam = new ServiceParam();
serviceParam.setInstance(new Object());
serviceParam.setInterfaceType(SampleService.class);
serviceParam.addBindingParam(jvmBindingParam);
serviceClient.service(serviceParam);
String content = FileUtils.readFileToString(sofaLog, System.getProperty("file.encoding"));
Assert.assertTrue(content.contains("SOFA-BOOT-01-00104: Bean " + "[com.alipay.sofa.runtime.test.beans.facade.SampleService] " + "type is [class java.lang.Object] not isAssignableFrom " + "[interface com.alipay.sofa.runtime.test.beans.facade.SampleService] , please check it"));
}
use of com.alipay.sofa.runtime.api.client.param.ServiceParam in project sofa-boot by sofastack.
the class ClientFactoryTest method testWithBindingParam.
/**
* test WithBindingParam in ReferenceClientImpl and ServiceClientImpl
*/
@Test
public void testWithBindingParam() {
JvmBindingParam jvmBindingParam = new JvmBindingParam();
jvmBindingParam.setSerialize(true);
ServiceParam serviceParam = new ServiceParam();
serviceParam.setInstance(new DefaultSampleService("WithBindingParam"));
serviceParam.setInterfaceType(SampleService.class);
serviceParam.setUniqueId("withBindingParam");
serviceParam.addBindingParam(jvmBindingParam);
serviceClient.service(serviceParam);
try {
Thread.sleep(2000);
} catch (Exception e) {
// ignore
}
ReferenceParam<SampleService> referenceParam = new ReferenceParam<>();
referenceParam.setInterfaceType(SampleService.class);
referenceParam.setUniqueId("withBindingParam");
referenceParam.setBindingParam(jvmBindingParam);
SampleService service = referenceClient.reference(referenceParam);
Assert.assertNotNull(service);
Assert.assertEquals("WithBindingParam", service.service());
}
use of com.alipay.sofa.runtime.api.client.param.ServiceParam in project sofa-boot by alipay.
the class BoltSwaggerServiceApplicationListener method onApplicationEvent.
@Override
public void onApplicationEvent(ApplicationStartedEvent applicationStartedEvent) {
List<BindingParam> bindingParams = new ArrayList<>();
bindingParams.add(new RestBindingParam());
ServiceParam serviceParam = new ServiceParam();
serviceParam.setInterfaceType(SwaggerRestService.class);
serviceParam.setInstance(new SwaggerRestServiceImpl());
serviceParam.setBindingParams(bindingParams);
ServiceClient serviceClient = clientFactory.getClient(ServiceClient.class);
serviceClient.service(serviceParam);
}
Aggregations