I am working on designing a workflow with the intention of using cadence workflow engine and Java client. Seems like uber is actively using Go, and thus Go has better documentation and Activity and other classes than Java Client. Is this true?
2 Answers
No, it is not really true. The majority of the open source users of Cadence and Temporal are using Java SDK.

- 6,458
- 3
- 20
- 35
-
Thanks, I have a low latency Sync flow; which can be done as a micro-service calling multiple microservices or a workflow calling multiple micro-services; in one example I found the reference to Local Activity. I don't see an example in Java. Any help, will be appreciated – user3574108 Oct 13 '20 at 21:16
-
Is this sync flow retried by the caller in case of failures? If yes, then you don't need workflow at all. In Java replace newActivityStub with newLocalActivityStub to get stub to a local activity implementation. – Maxim Fateev Oct 13 '20 at 21:19
-
Yes, this sync flow can be retried. In our DB, we will have lot of tickets, that needs to be routed to the right Rep. They can update or skip the ticket on the UI if they like and that should trigger (update-update workflow) or Skip (get-workflow). The resulting prioritized ticket should be fetched from a priority queue or something and populated on the UI when update/skip completes. I am debating about using workflow here as the system is getting too complex; and not able to identify the right pros – user3574108 Oct 14 '20 at 14:58
-
I don't think you need a workflow for this. Modeling the whole flow of the ticket through the system would simplify your architecture. But that particular part sounds like request/reply. – Maxim Fateev Oct 14 '20 at 18:48
-
Thanks, Maxim, this immensely helps and affirms my design on where a workflow will benefit versus where it may not. – user3574108 Oct 14 '20 at 22:18
If you go the the java-client
channel in Cadence slack, the community has more discussion than go-client. Even in Uber, Java-client is heavily used by core services like payments.
Go client happens to have more docs/samples because it started a little earlier. In fact, the docs that are missing in Java, could be derived from Go. It should be noted that there are more documents in Java library. For example, the documents of how to write unit tests, instead of putting in to cadenceworkflow.io, we put in javadocs directly. Because this is the convention for Java developer to lookup documentation.
IMO they are the same important for Cadence. All the new features are implemented/rolling out at the same time hence they don't have real difference.

- 2,076
- 1
- 10
- 22