Dubbo使用实例

下面是一个使用Java实现的Dubbo示例代码,包括服务提供者和服务消费者:

首先,您需要确保已安装ZooKeeper,并且ZooKeeper服务器正在运行。

接下来,您可以使用以下示例代码创建Dubbo的服务提供者和服务消费者:

服务提供者示例代码

接口定义:

public interface GreetingService {
    String sayHello(String name);
}

实现类:

public class GreetingServiceImpl implements GreetingService {
    public String sayHello(String name) {
        return "Hello, " + name + "!";
    }
}

服务提供者启动类:

import org.apache.dubbo.config.*;

public class Provider {
    public static void main(String[] args) throws Exception {
        ServiceConfig<GreetingService> serviceConfig = new ServiceConfig<>();
        serviceConfig.setInterface(GreetingService.class);
        serviceConfig.setRef(new GreetingServiceImpl());
        serviceConfig.setRegistry(new RegistryConfig("zookeeper://localhost:2181"));

        serviceConfig.export();

        System.out.println("Service provider started.");

        // 阻塞当前线程,使服务一直保持运行状态
        System.in.read();
    }
}

服务消费者示例代码

消费者启动类:

import org.apache.dubbo.config.*;
import org.apache.dubbo.config.utils.ReferenceConfigCache;

public class Consumer {
    public static void main(String[] args) {
        ReferenceConfig<GreetingService> referenceConfig = new ReferenceConfig<>();
        referenceConfig.setInterface(GreetingService.class);
        referenceConfig.setRegistry(new RegistryConfig("zookeeper://localhost:2181"));

        GreetingService greetingService = ReferenceConfigCache.getCache().get(referenceConfig);

        String result = greetingService.sayHello("John");

        System.out.println(result);
    }
}

在上述示例代码中,我们定义了一个GreetingService接口,其中包含一个sayHello方法用于打招呼。

服务提供者实现了GreetingService接口,并提供了一个GreetingServiceImpl类来实现接口方法。

服务提供者启动类通过Dubbo的ServiceConfig来配置服务接口、实现类和ZooKeeper注册中心。然后,调用export方法将服务发布到Dubbo上下文中,并开始监听客户端的请求。

服务消费者通过Dubbo的ReferenceConfig来配置服务接口和ZooKeeper注册中心。然后,使用ReferenceConfigCache来获取服务接口的实例。最后,调用服务接口的方法来消费服务提供者的功能。

请确保您已正确配置Dubbo和相关依赖项,并根据需要更改ZooKeeper服务器地址和接口实现逻辑。运行Provider和Consumer代码后,您将看到消费者成功调用服务提供者的方法,并获得打招呼的结果。



当然!这是另一个使用Java实现的Dubbo示例代码,用于演示Dubbo服务的远程调用和参数传递:

首先,确保您已安装并启动了ZooKeeper服务器。

接下来,您可以使用以下示例代码来创建Dubbo的服务提供者和服务消费者:

服务提供者示例代码

接口定义:

public interface CalculatorService {
    int add(int a, int b);
}

实现类:

public class CalculatorServiceImpl implements CalculatorService {
    public int add(int a, int b) {
        return a + b;
    }
}

服务提供者启动类:

import org.apache.dubbo.config.*;

public class Provider {
    public static void main(String[] args) throws Exception {
        ServiceConfig<CalculatorService> serviceConfig = new ServiceConfig<>();
        serviceConfig.setInterface(CalculatorService.class);
        serviceConfig.setRef(new CalculatorServiceImpl());
        serviceConfig.setRegistry(new RegistryConfig("zookeeper://localhost:2181"));

        serviceConfig.export();

        System.out.println("Service provider started.");

        // 阻塞当前线程,使服务一直保持运行状态
        System.in.read();
    }
}

服务消费者示例代码

消费者启动类:

import org.apache.dubbo.config.*;
import org.apache.dubbo.config.utils.ReferenceConfigCache;

public class Consumer {
    public static void main(String[] args) {
        ReferenceConfig<CalculatorService> referenceConfig = new ReferenceConfig<>();
        referenceConfig.setInterface(CalculatorService.class);
        referenceConfig.setRegistry(new RegistryConfig("zookeeper://localhost:2181"));

        CalculatorService calculatorService = ReferenceConfigCache.getCache().get(referenceConfig);

        int result = calculatorService.add(5, 3);

        System.out.println("Result: " + result);
    }
}

在上述示例代码中,我们定义了一个CalculatorService接口,其中包含一个add方法用于相加两个整数。

服务提供者实现了CalculatorService接口,并提供了一个CalculatorServiceImpl类来实现接口方法。

服务提供者启动类通过Dubbo的ServiceConfig来配置服务接口、实现类和ZooKeeper注册中心。然后,调用export方法将服务发布到Dubbo上下文中,并开始监听客户端的请求。

服务消费者通过Dubbo的ReferenceConfig来配置服务接口和ZooKeeper注册中心。然后,使用ReferenceConfigCache来获取服务接口的实例。最后,调用服务接口的方法来远程调用服务提供者的功能,并获取返回结果。

请确保您已正确配置Dubbo和相关依赖项,并根据需要更改ZooKeeper服务器地址和接口实现逻辑。运行Provider和Consumer代码后,您将看到消费者成功远程调用服务提供者的方法,并获得相加的结果。



当然!这是另一个使用Java实现的Dubbo示例代码,用于演示Dubbo的配置和注解使用:

首先,确保您已安装并启动了ZooKeeper服务器。

接下来,您可以使用以下示例代码来创建Dubbo的服务提供者和服务消费者:

服务提供者示例代码

import org.apache.dubbo.config.*;

public class Provider {
    public static void main(String[] args) throws Exception {
        ServiceConfig<GreetingService> serviceConfig = new ServiceConfig<>();
        serviceConfig.setInterface(GreetingService.class);
        serviceConfig.setRef(new GreetingServiceImpl());
        serviceConfig.setRegistry(new RegistryConfig("zookeeper://localhost:2181"));

        serviceConfig.export();

        System.out.println("Service provider started.");

        // 阻塞当前线程,使服务一直保持运行状态
        System.in.read();
    }
}

服务消费者示例代码

import org.apache.dubbo.config.*;

public class Consumer {
    public static void main(String[] args) {
        ReferenceConfig<GreetingService> referenceConfig = new ReferenceConfig<>();
        referenceConfig.setInterface(GreetingService.class);
        referenceConfig.setRegistry(new RegistryConfig("zookeeper://localhost:2181"));

        GreetingService greetingService = referenceConfig.get();

        String result = greetingService.sayHello("John");

        System.out.println(result);
    }
}

服务接口和实现类示例代码

public interface GreetingService {
    String sayHello(String name);
}

public class GreetingServiceImpl implements GreetingService {
    public String sayHello(String name) {
        return "Hello, " + name + "!";
    }
}

在上述示例代码中,我们定义了一个GreetingService接口,其中包含一个sayHello方法用于打招呼。

服务提供者实现了GreetingService接口,并提供了一个GreetingServiceImpl类来实现接口方法。

服务提供者启动类使用Dubbo的ServiceConfig来配置服务接口、实现类和ZooKeeper注册中心。然后,调用export方法将服务发布到Dubbo上下文中,并开始监听客户端的请求。

服务消费者使用Dubbo的ReferenceConfig来配置服务接口和ZooKeeper注册中心。然后,通过调用get方法获取服务接口的实例。最后,调用服务接口的方法来消费服务提供者的功能。

请确保您已正确配置Dubbo和相关依赖项,并根据需要更改ZooKeeper服务器地址和接口实现逻辑。运行Provider和Consumer代码后,您将看到消费者成功调用服务提供者的方法,并获得打招呼的结果。

posted @ 2023-05-30 17:09  田野与天  阅读(204)  评论(0编辑  收藏  举报