Dapr SDK for Java
Go to file
Ricardo Niepel cd2fc468d3 Remove debugging args #207 (#214) 2020-02-07 14:27:05 -08:00
.github Excluding examples from deploy command. 2020-01-31 19:01:42 -08:00
examples Remove debugging args #207 (#214) 2020-02-07 14:27:05 -08:00
proto Java SDK with all features implemented for milestone 0.4 (#154) 2020-01-24 12:49:56 -08:00
sdk upgrade java-sdk version to 0.2.0-beta-2 2020-02-05 14:50:33 -08:00
sdk-actors upgrade java-sdk version to 0.2.0-beta-2 2020-02-05 14:50:33 -08:00
sdk-autogen upgrade java-sdk version to 0.2.0-beta-2 2020-02-05 14:50:33 -08:00
sdk-tests Reducing verbosity by setting log level to INFO in samples and tests (#221) 2020-02-07 14:22:49 -08:00
.gitignore Refactor IT into new jar + use JVM sytem properties (#156) 2020-01-28 11:32:29 -08:00
.gitmodules Renames project to . Fixes examples. Adds proto files from release-0.3. 2019-12-05 18:30:13 -08:00
CONTRIBUTING.md Adding Contribution guidance in java sdk repo 2019-10-15 17:53:20 -07:00
LICENSE Initial commit 2019-10-09 10:30:20 -07:00
README.md specify mvn clean install (#216) 2020-02-07 14:25:00 -08:00
checkstyle.xml Fix release due to missing javadocs + fix headers. (#195) 2020-01-31 18:26:59 -08:00
pom.xml upgrade java-sdk version to 0.2.0-beta-2 2020-02-05 14:50:33 -08:00
settings.xml Java SDK with all features implemented for milestone 0.4 (#154) 2020-01-24 12:49:56 -08:00

README.md

Dapr SDK for Java

Build Status Gitter License: MIT

This is the Dapr SDK for Java, including the following features:

  • PubSub
  • Service Invocation
  • Binding
  • State Store
  • Actors

Getting Started

Pre-Requisites

Importing Dapr's Java SDK

For a Maven project, add the following to your pom.xml file:

<project>
  ...
  <distributionManagement>
   ...
    <!-- BEGIN: Dapr's repositories -->
    <snapshotRepository>
      <id>ossrh</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
      <id>ossrh</id>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
    <!-- END: Dapr's repositories -->
   ...
  </distributionManagement>
  ...
  <dependencyManagement>
      <dependencies>
        ...
         <!-- Dapr's core SDK with all features, except Actors. -->
        <dependency>
          <groupId>io.dapr</groupId>
          <artifactId>dapr-sdk</artifactId>
          <version>0.2.0-beta-2</version>
        </dependency>
        <!-- Dapr's SDK for Actors (optional). -->
        <dependency>
          <groupId>io.dapr</groupId>
          <artifactId>dapr-sdk-actors</artifactId>
          <version>0.2.0-beta-2</version>
        </dependency>
        ...
      </dependencies>
  </dependencyManagement>
</project>

Running the examples

Clone this repository including the submodules:

git clone https://github.com/dapr/java-sdk.git

Then head over to build the Maven (Apache Maven version 3.x) project:

# make sure you are in the `java-sdk` directory.
mvn clean install

Try the following examples to learn more about Dapr's Java SDK:

Debug Java application or Dapr's Java SDK

If you have a Java application or an issue on this SDK that needs to be debugged, run Dapr using a dummy command and start the application from your IDE (IntelliJ, for example). For Linux and MacOS:

dapr run --app-id testapp --app-port 3000 --port 3500 --grpc-port 5001 -- cat

For Windows:

dapr run --app-id testapp --app-port 3000 --port 3500 --grpc-port 5001 -- waitfor FOREVER

When running your Java application from IDE, make sure the following environment variables are set, so the Java SDK knows how to connect to Dapr's sidecar:

DAPR_HTTP_PORT=3500
DAPR_GRPC_PORT=5001

Now you can go to your IDE (like IntelliJ, for example) and debug your Java application, using port 3500 to call Dapr while also listening to port 3000 to expose Dapr's callback endpoint.

Calls to Dapr's APIs on http://127.0.0.1:3500/* should work now and trigger breakpoints in your code.

If your application needs to subscribe to topics or register Actors in Dapr, for example, then start debugging your app first and run dapr with dummy command last.

If using Visual Studio Code, also consider this solution as well.

Creating and publishing the artifacts to Nexus Repository

In case you need to publish Dapr's SDK to a private Nexus repo, run the command below from the project's root directory:

mvn package
mvn deploy:deploy-file -DgeneratePom=false -DrepositoryId=nexus -Durl=http://localhost:8081/repository/maven-releases -DpomFile=pom.xml -Dfile=target/dapr-sdk-0.2.0.jar

For more documentation reference :

https://maven.apache.org/plugins/maven-deploy-plugin

https://help.sonatype.com/repomanager3/user-interface/uploading-components

Development

Maven Module version management

When releasing a new version of this SDK you must increase the version of all modules and pom files, so run the following commands:

mvn versions:set -DnewVersion="0.1.0-preview02"
mvn versions:commit