<dependency>
<groupId>org.amdatu.remote</groupId>
<artifactId>org.amdatu.remote.api</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.amdatu.remote</groupId>
<artifactId>org.amdatu.remote.discovery.etcd</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.amdatu.remote</groupId>
<artifactId>org.amdatu.remote.topology</artifactId>
<version>1.3.0</version>
</dependency>
public interface HelloService {
String sayHello(String name);
}
public class HelloServiceImpl implements HelloService {
public String sayHello(String name) {
return "Hello, " + name + "!";
}
}
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.4.0</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Import-Package>!*</Import-Package>
<Export-Package>your.package.name;version=1.0.0</Export-Package>
</instructions>
</configuration>
</plugin>
</plugins>
<dependencies>
<dependency>
<groupId>your.groupId</groupId>
<artifactId>your.provider.bundle</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
@TopologyProvider
@Service
public class HelloServiceImpl implements HelloService {
//...
}
@Consumer
public class HelloConsumer {
@Inject
private HelloService helloService;
public void useHelloService() {
String greeting = helloService.sayHello("Alice");
System.out.println(greeting);
}
}