1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/loogn-stardust4j

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Stardust — это простая реализация микросервисной архитектуры. Stardust4J — реализация на Java для клиентской и серверной частей.

http://www.cnblogs.com/loogn/p/6664594.html

.NET-версия

Сервис:

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 )

Вы можете оставить комментарий после Вход в систему

Введение

Stardust4J — это Java-клиент и серверная реализация Stardust. Расширить Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/loogn-stardust4j.git
git@gitlife.ru:oschina-mirror/loogn-stardust4j.git
oschina-mirror
loogn-stardust4j
loogn-stardust4j
master