Restore accidentally deleted test cases (#14170)
* recover test unit * replace rest to tri --------- Co-authored-by: xiaosheng <songxiaosheng@apache.org>
This commit is contained in:
parent
fa71998d59
commit
31f4b3dca3
|
|
@ -107,6 +107,22 @@
|
|||
<version>${project.parent.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.swagger</groupId>
|
||||
<artifactId>swagger-annotations</artifactId>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>javax.ws.rs</groupId>
|
||||
<artifactId>jsr311-api</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jboss.resteasy</groupId>
|
||||
<artifactId>resteasy-jaxrs</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.dubbo</groupId>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,53 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.dubbo.config.bootstrap;
|
||||
|
||||
import org.apache.dubbo.config.MetadataReportConfig;
|
||||
import org.apache.dubbo.config.bootstrap.rest.UserService;
|
||||
import org.apache.dubbo.test.check.registrycenter.config.ZookeeperRegistryCenterConfig;
|
||||
|
||||
/**
|
||||
* Dubbo Provider Bootstrap
|
||||
*
|
||||
* @since 2.7.5
|
||||
*/
|
||||
public class DubboServiceConsumerBootstrap {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
||||
DubboBootstrap bootstrap = DubboBootstrap.getInstance()
|
||||
.application("dubbo-consumer-demo")
|
||||
.protocol(builder -> builder.port(20887).name("dubbo"))
|
||||
.registry(
|
||||
"zookeeper",
|
||||
builder -> builder.address(ZookeeperRegistryCenterConfig.getConnectionAddress()
|
||||
+ "?registry-type=service&subscribed-services=dubbo-provider-demo"))
|
||||
.metadataReport(new MetadataReportConfig(ZookeeperRegistryCenterConfig.getConnectionAddress()))
|
||||
.reference("echo", builder -> builder.interfaceClass(EchoService.class)
|
||||
.protocol("dubbo"))
|
||||
.reference("user", builder -> builder.interfaceClass(UserService.class)
|
||||
.protocol("tri"))
|
||||
.start();
|
||||
|
||||
EchoService echoService = bootstrap.getCache().get(EchoService.class);
|
||||
|
||||
for (int i = 0; i < 500; i++) {
|
||||
Thread.sleep(2000L);
|
||||
System.out.println(echoService.echo("Hello,World"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.dubbo.config.bootstrap;
|
||||
|
||||
import org.apache.dubbo.config.ApplicationConfig;
|
||||
import org.apache.dubbo.config.MetadataReportConfig;
|
||||
import org.apache.dubbo.config.ProtocolConfig;
|
||||
import org.apache.dubbo.config.RegistryConfig;
|
||||
import org.apache.dubbo.config.ServiceConfig;
|
||||
import org.apache.dubbo.config.bootstrap.rest.UserService;
|
||||
import org.apache.dubbo.config.bootstrap.rest.UserServiceImpl;
|
||||
import org.apache.dubbo.test.check.registrycenter.config.ZookeeperRegistryCenterConfig;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* Dubbo Provider Bootstrap
|
||||
*
|
||||
* @since 2.7.5
|
||||
*/
|
||||
public class DubboServiceProviderBootstrap {
|
||||
|
||||
public static void main(String[] args) {
|
||||
multipleRegistries();
|
||||
}
|
||||
|
||||
private static void multipleRegistries() {
|
||||
ProtocolConfig triProtocol = new ProtocolConfig();
|
||||
triProtocol.setName("tri");
|
||||
triProtocol.setId("tri");
|
||||
triProtocol.setPort(-1);
|
||||
|
||||
RegistryConfig interfaceRegistry = new RegistryConfig();
|
||||
interfaceRegistry.setId("interfaceRegistry");
|
||||
interfaceRegistry.setAddress(ZookeeperRegistryCenterConfig.getConnectionAddress());
|
||||
|
||||
RegistryConfig serviceRegistry = new RegistryConfig();
|
||||
serviceRegistry.setId("serviceRegistry");
|
||||
serviceRegistry.setAddress(ZookeeperRegistryCenterConfig.getConnectionAddress() + "?registry-type=service");
|
||||
|
||||
ServiceConfig<EchoService> echoService = new ServiceConfig<>();
|
||||
echoService.setInterface(EchoService.class.getName());
|
||||
echoService.setRef(new EchoServiceImpl());
|
||||
|
||||
ServiceConfig<UserService> userService = new ServiceConfig<>();
|
||||
userService.setInterface(UserService.class.getName());
|
||||
userService.setRef(new UserServiceImpl());
|
||||
userService.setProtocol(triProtocol);
|
||||
|
||||
ApplicationConfig applicationConfig = new ApplicationConfig("dubbo-provider-demo");
|
||||
applicationConfig.setMetadataType("remote");
|
||||
DubboBootstrap.getInstance()
|
||||
.application(applicationConfig)
|
||||
.registries(Arrays.asList(interfaceRegistry, serviceRegistry))
|
||||
.protocol(builder -> builder.port(-1).name("dubbo"))
|
||||
.metadataReport(new MetadataReportConfig(ZookeeperRegistryCenterConfig.getConnectionAddress()))
|
||||
.service(echoService)
|
||||
.service(userService)
|
||||
.start()
|
||||
.await();
|
||||
}
|
||||
|
||||
private static void testSCCallDubbo() {}
|
||||
|
||||
private static void testDubboCallSC() {}
|
||||
|
||||
private static void testDubboTansormation() {}
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.dubbo.config.bootstrap;
|
||||
|
||||
import org.apache.dubbo.config.bootstrap.rest.UserService;
|
||||
import org.apache.dubbo.config.bootstrap.rest.UserServiceImpl;
|
||||
import org.apache.dubbo.test.check.registrycenter.config.ZookeeperRegistryCenterConfig;
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*/
|
||||
public class DubboServiceProviderMinimumBootstrap {
|
||||
|
||||
public static void main(String[] args) {
|
||||
DubboBootstrap.getInstance()
|
||||
.application("dubbo-provider-demo")
|
||||
.registry(builder -> builder.address(
|
||||
ZookeeperRegistryCenterConfig.getConnectionAddress() + "?registry-type=service"))
|
||||
.protocol(builder -> builder.port(-1).name("dubbo"))
|
||||
.service("echo", builder -> builder.interfaceClass(EchoService.class)
|
||||
.ref(new EchoServiceImpl()))
|
||||
.service("user", builder -> builder.interfaceClass(UserService.class)
|
||||
.ref(new UserServiceImpl()))
|
||||
.start()
|
||||
.await();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.dubbo.config.bootstrap;
|
||||
|
||||
import org.apache.dubbo.config.ApplicationConfig;
|
||||
import org.apache.dubbo.config.bootstrap.rest.UserService;
|
||||
|
||||
import static org.apache.dubbo.common.constants.CommonConstants.REMOTE_METADATA_STORAGE_TYPE;
|
||||
|
||||
/**
|
||||
* Dubbo Provider Bootstrap
|
||||
*
|
||||
* @since 2.7.5
|
||||
*/
|
||||
public class NacosDubboServiceConsumerBootstrap {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
||||
ApplicationConfig applicationConfig = new ApplicationConfig("dubbo-nacos-consumer-demo");
|
||||
applicationConfig.setMetadataType(REMOTE_METADATA_STORAGE_TYPE);
|
||||
DubboBootstrap bootstrap = DubboBootstrap.getInstance()
|
||||
.application(applicationConfig)
|
||||
// Nacos in service registry type
|
||||
.registry("nacos", builder -> builder.address("nacos://127.0.0.1:8848?registry-type=service")
|
||||
.useAsConfigCenter(true)
|
||||
.useAsMetadataCenter(true))
|
||||
// Nacos in traditional registry type
|
||||
// .registry("nacos-traditional", builder -> builder.address("nacos://127.0.0.1:8848"))
|
||||
.reference("echo", builder -> builder.interfaceClass(EchoService.class)
|
||||
.protocol("dubbo"))
|
||||
.reference("user", builder -> builder.interfaceClass(UserService.class)
|
||||
.protocol("tri"))
|
||||
.start();
|
||||
|
||||
EchoService echoService = bootstrap.getCache().get(EchoService.class);
|
||||
UserService userService = bootstrap.getCache().get(UserService.class);
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
Thread.sleep(2000L);
|
||||
System.out.println(echoService.echo("Hello,World"));
|
||||
System.out.println(userService.getUser(i * 1L));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.dubbo.config.bootstrap;
|
||||
|
||||
import org.apache.dubbo.config.ApplicationConfig;
|
||||
import org.apache.dubbo.config.bootstrap.rest.UserService;
|
||||
import org.apache.dubbo.config.bootstrap.rest.UserServiceImpl;
|
||||
|
||||
import static org.apache.dubbo.common.constants.CommonConstants.REMOTE_METADATA_STORAGE_TYPE;
|
||||
import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_TYPE_KEY;
|
||||
import static org.apache.dubbo.common.constants.RegistryConstants.SERVICE_REGISTRY_TYPE;
|
||||
|
||||
/**
|
||||
* Dubbo Provider Bootstrap
|
||||
*
|
||||
* @since 2.7.5
|
||||
*/
|
||||
public class NacosDubboServiceProviderBootstrap {
|
||||
|
||||
public static void main(String[] args) {
|
||||
ApplicationConfig applicationConfig = new ApplicationConfig("dubbo-nacos-provider-demo");
|
||||
applicationConfig.setMetadataType(REMOTE_METADATA_STORAGE_TYPE);
|
||||
DubboBootstrap.getInstance()
|
||||
.application(applicationConfig)
|
||||
// Nacos in service registry type
|
||||
.registry("nacos", builder -> builder.address("nacos://127.0.0.1:8848?username=nacos&password=nacos")
|
||||
.parameter(REGISTRY_TYPE_KEY, SERVICE_REGISTRY_TYPE))
|
||||
// Nacos in traditional registry type
|
||||
// .registry("nacos-traditional", builder -> builder.address("nacos://127.0.0.1:8848"))
|
||||
.protocol("dubbo", builder -> builder.port(20885).name("dubbo"))
|
||||
.protocol("tri", builder -> builder.port(9090).name("tri"))
|
||||
.service(builder -> builder.id("echo")
|
||||
.interfaceClass(EchoService.class)
|
||||
.ref(new EchoServiceImpl())
|
||||
.protocolIds("dubbo"))
|
||||
.service(builder -> builder.id("user")
|
||||
.interfaceClass(UserService.class)
|
||||
.ref(new UserServiceImpl())
|
||||
.protocolIds("tri"))
|
||||
.start()
|
||||
.await();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.dubbo.config.bootstrap;
|
||||
|
||||
import org.apache.dubbo.config.bootstrap.rest.UserService;
|
||||
import org.apache.dubbo.test.check.registrycenter.config.ZookeeperRegistryCenterConfig;
|
||||
|
||||
import static org.apache.dubbo.common.constants.CommonConstants.COMPOSITE_METADATA_STORAGE_TYPE;
|
||||
import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_TYPE_KEY;
|
||||
import static org.apache.dubbo.common.constants.RegistryConstants.SERVICE_REGISTRY_TYPE;
|
||||
|
||||
/**
|
||||
* Dubbo Provider Bootstrap
|
||||
*
|
||||
* @since 2.7.5
|
||||
*/
|
||||
public class ZookeeperDubboServiceConsumerBootstrap {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
||||
DubboBootstrap bootstrap = DubboBootstrap.getInstance()
|
||||
.application("zookeeper-dubbo-consumer", app -> app.metadata(COMPOSITE_METADATA_STORAGE_TYPE))
|
||||
.registry("zookeeper", builder -> builder.address(ZookeeperRegistryCenterConfig.getConnectionAddress())
|
||||
.parameter(REGISTRY_TYPE_KEY, SERVICE_REGISTRY_TYPE)
|
||||
.useAsConfigCenter(true)
|
||||
.useAsMetadataCenter(true))
|
||||
.reference("echo", builder -> builder.interfaceClass(EchoService.class)
|
||||
.protocol("dubbo")
|
||||
.services("zookeeper-dubbo-provider"))
|
||||
.reference("user", builder -> builder.interfaceClass(UserService.class)
|
||||
.protocol("tri"))
|
||||
.start();
|
||||
|
||||
EchoService echoService = bootstrap.getCache().get(EchoService.class);
|
||||
UserService userService = bootstrap.getCache().get(UserService.class);
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
Thread.sleep(2000L);
|
||||
System.out.println(echoService.echo("Hello,World"));
|
||||
System.out.println(userService.getUser(i * 1L));
|
||||
}
|
||||
|
||||
bootstrap.stop();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.dubbo.config.bootstrap;
|
||||
|
||||
import org.apache.dubbo.config.bootstrap.rest.UserService;
|
||||
import org.apache.dubbo.config.bootstrap.rest.UserServiceImpl;
|
||||
|
||||
import static org.apache.dubbo.common.constants.CommonConstants.COMPOSITE_METADATA_STORAGE_TYPE;
|
||||
import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_TYPE_KEY;
|
||||
import static org.apache.dubbo.common.constants.RegistryConstants.SERVICE_REGISTRY_TYPE;
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*/
|
||||
public class ZookeeperDubboServiceProviderBootstrap {
|
||||
|
||||
public static void main(String[] args) {
|
||||
DubboBootstrap.getInstance()
|
||||
.application("zookeeper-dubbo-provider", app -> app.metadata(COMPOSITE_METADATA_STORAGE_TYPE))
|
||||
.registry(builder -> builder.address("127.0.0.1:2181")
|
||||
.protocol("zookeeper")
|
||||
.parameter(REGISTRY_TYPE_KEY, SERVICE_REGISTRY_TYPE))
|
||||
.protocol("dubbo", builder -> builder.port(-1).name("dubbo"))
|
||||
.protocol("tri", builder -> builder.port(8081).name("tri"))
|
||||
.service("echo", builder -> builder.interfaceClass(EchoService.class)
|
||||
.ref(new EchoServiceImpl())
|
||||
.protocolIds("dubbo"))
|
||||
.service("user", builder -> builder.interfaceClass(UserService.class)
|
||||
.ref(new UserServiceImpl())
|
||||
.protocolIds("tri"))
|
||||
.start()
|
||||
.await();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.dubbo.config.bootstrap.compatible;
|
||||
|
||||
import org.apache.dubbo.config.RegistryConfig;
|
||||
import org.apache.dubbo.config.bootstrap.DubboBootstrap;
|
||||
import org.apache.dubbo.config.bootstrap.EchoService;
|
||||
import org.apache.dubbo.config.bootstrap.rest.UserService;
|
||||
import org.apache.dubbo.test.check.registrycenter.config.ZookeeperRegistryCenterConfig;
|
||||
|
||||
/**
|
||||
* Dubbo Provider Bootstrap
|
||||
*
|
||||
* @since 2.7.5
|
||||
*/
|
||||
public class DubboInterfaceConsumerBootstrap {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
RegistryConfig interfaceRegistry = new RegistryConfig();
|
||||
interfaceRegistry.setId("interfaceRegistry");
|
||||
interfaceRegistry.setAddress(ZookeeperRegistryCenterConfig.getConnectionAddress());
|
||||
|
||||
DubboBootstrap bootstrap = DubboBootstrap.getInstance()
|
||||
.application("dubbo-consumer-demo")
|
||||
// Zookeeper
|
||||
.registry(interfaceRegistry)
|
||||
.reference("echo", builder -> builder.interfaceClass(EchoService.class)
|
||||
.protocol("dubbo"))
|
||||
.reference("user", builder -> builder.interfaceClass(UserService.class)
|
||||
.protocol("tri"))
|
||||
.start()
|
||||
.await();
|
||||
|
||||
EchoService echoService = bootstrap.getCache().get(EchoService.class);
|
||||
UserService userService = bootstrap.getCache().get(UserService.class);
|
||||
|
||||
for (int i = 0; i < 500; i++) {
|
||||
Thread.sleep(2000L);
|
||||
System.out.println(echoService.echo("Hello,World"));
|
||||
System.out.println(userService.getUser(1L));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.dubbo.config.bootstrap.rest;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import org.codehaus.jackson.annotate.JsonProperty;
|
||||
|
||||
@XmlRootElement
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class User implements Serializable {
|
||||
|
||||
@NotNull
|
||||
@Min(1L)
|
||||
private Long id;
|
||||
|
||||
@JsonProperty("username")
|
||||
@XmlElement(name = "username")
|
||||
@NotNull
|
||||
@Size(min = 6, max = 50)
|
||||
private String name;
|
||||
|
||||
public User() {}
|
||||
|
||||
public User(Long id, String name) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "User (" + "id=" + id + ", name='" + name + '\'' + ')';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.dubbo.config.bootstrap.rest;
|
||||
|
||||
import org.apache.dubbo.config.bootstrap.rest.support.ContentType;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
|
||||
@Path("users")
|
||||
@Consumes({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
|
||||
@Produces({ContentType.APPLICATION_JSON_UTF_8, ContentType.TEXT_XML_UTF_8})
|
||||
@Api(value = "UserService")
|
||||
public interface UserService {
|
||||
|
||||
@GET
|
||||
@Path("{id : \\d+}")
|
||||
@ApiOperation(value = "getUser")
|
||||
User getUser(@ApiParam(value = "id") @PathParam("id") Long id);
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.dubbo.config.bootstrap.rest;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
public class UserServiceImpl implements UserService {
|
||||
|
||||
private final AtomicLong idGen = new AtomicLong();
|
||||
|
||||
@Override
|
||||
public User getUser(Long id) {
|
||||
return new User(id, "username" + id);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.dubbo.config.bootstrap.rest.support;
|
||||
|
||||
import javax.ws.rs.core.MediaType;
|
||||
|
||||
public class ContentType {
|
||||
|
||||
public static final String APPLICATION_JSON_UTF_8 =
|
||||
MediaType.APPLICATION_JSON + "; " + MediaType.CHARSET_PARAMETER + "=UTF-8";
|
||||
public static final String TEXT_XML_UTF_8 = MediaType.TEXT_XML + "; " + MediaType.CHARSET_PARAMETER + "=UTF-8";
|
||||
public static final String TEXT_PLAIN_UTF_8 = MediaType.TEXT_PLAIN + "; " + MediaType.CHARSET_PARAMETER + "=UTF-8";
|
||||
}
|
||||
Loading…
Reference in New Issue