zbus调用rpc之后,main方法执行完毕后,并没有自动退出时怎么回事?

发布于 2021-11-27 08:59:44 字数 3111 浏览 920 评论 6

zbus调用rpc之后,main方法执行完毕后,并没有自动退出时怎么回事?


package org.zbus.rpc;

import java.util.Arrays;
import java.util.Random;

import org.zbus.client.Broker;
import org.zbus.client.broker.SingleBroker;
import org.zbus.client.broker.SingleBrokerConfig;
import org.zbus.client.rpc.RpcConfig;
import org.zbus.client.rpc.RpcProxy;
import org.zbus.rpc.biz.Interface;
import org.zbus.rpc.biz.User;

/**
 * 这边是调用的方法!测试通过!
 * @author Administrator
 *
 */
public class RpcExample {
    public static User getUser(String name) {
        User user = new User();
        user.setName(name);
        user.setPassword("password" + System.currentTimeMillis());
        user.setAge(new Random().nextInt(100));
        user.setItem("item_1");
        user.setRoles(Arrays.asList("admin", "common"));
        return user;
    }

    public static void main(String[] args) throws Exception {
        // 1)创建Broker代表
        SingleBrokerConfig config = new SingleBrokerConfig();
        config.setBrokerAddress("127.0.0.1:15555");
        Broker broker = new SingleBroker(config);

        RpcConfig rpcConfig = new RpcConfig();
        rpcConfig.setBroker(broker);
        rpcConfig.setMq("MyRpc");
        
        Interface hello = RpcProxy.getService(Interface.class, rpcConfig);

        Object[] res = hello.objectArray();
        for (Object obj : res) {
            System.out.println(obj);
        }

        Object[] array = new Object[] { getUser("rushmore"), "hong", true, 1,
                String.class };
        
        
        int saved = hello.saveObjectArray(array);
        System.out.println(saved);
        
        Class<?> ret = hello.classTest(String.class);
        System.out.println(ret);
        broker.destroy();
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

酷到爆炸 2021-11-29 18:37:22

顶少帮主......

归属感 2021-11-29 18:36:19

@kobe_gino @wangmj

请查看最新5.2.0-SNAPSHOT, 已经支持清除内部线程退出main

@wangmj ,同时支持Producer主动创建MQ

http://git.oschina.net/rushmore/zbus/blob/master/src/test/java/org/zbus/PubExample.java

掩饰不了的爱 2021-11-29 18:27:58

设计成这样的,NIO下面很多线程连接池,默认没干掉,没有netty所谓的shutdownGracefully:)

初见你 2021-11-29 16:11:20

咨询了
@少帮主 ,就是这样设计的。提高生产力,相当于连接池的功能。

明媚如初 2021-11-29 14:31:24

回复

@kobe_gino 5.2.0 版本我会把关闭底层线程和连接池的API暴露出来,有点类似netty的shutdownGracefully, 到时候就不会有类似的疑惑,现在的版本不会有链接泄露问题(当然你每个调用方法不应该去初始化Broker这样的重对象)

羁拥 2021-11-28 13:21:42

是不是长连接了?????

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文