Stardust — это простая реализация микросервисной архитектуры. Stardust4J — реализация на Java для клиентской и серверной частей.
http://www.cnblogs.com/loogn/p/6664594.html
web.xml
<web-app>
<filter>
<filter-name>StardustFilter</filter-name>
<filter-class>net.loogn.stardust.server.StardustFilter</filter-class>
<init-param>
<param-name>configClass</param-name>
<param-value>net.loogn.stardust.webnode.MyStardustConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>StardustFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
Наследование StardustConfig для настройки сервисного узла
public class MyStardustConfig extends StardustConfig {
public void setConfig(ConfigSetter setter) {
setter.setVersion("1.0")
.setServiceName("node2")
.setAddress("127.0.0.1:8086")
.setConfigCenterUrl("http://localhost:85");
}
public void addService(ServiceAddor addor) {
addor.add(UserService.class); //добавление класса, определяющего сервис
}
}
Создание класса сервиса
@StardustName("user")
public class UserService {
//можно без параметров
@StardustName("hello")
public String GetStr() {
return "Hello UserService";
}
//может быть один параметр
public User UpdateUser(User user) {
System.out.println("десериализация: " + JSON.toJSONString(user));
user.setName("Update Name");
user.setAddTime(new Date());
user.setId(22);
return user;
}
}
public class Program {
public static void main(String[] args) throws InterruptedException {
StardustClient.setConfigCenterUrl("http://localhost:85"); //инициализация один раз во время выполнения
try {
StardustClient node1Client = new StardustClient("node1", "1.2");
User user = new User();
user.setName("Update Name");
user.setAddTime(new Date());
user.setId(22);
//возвращает строку JSON
//String json = node1Client.invoke("user", "UpdateUser", user);
//User result = JSON.parseObject(json, User.class);
//можно сразу вернуть сильный тип
User result=node1Client.invoke(User.class, "user", "UpdateUser", user);
System.out.println(JSON.toJSONString(result));
} catch (Exception exp) {
System.out.println(exp.getMessage());
}
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )