microsoft/durabletask-java

Custom Durable Entities implementation

nizos opened this issue · 9 comments

Is it possible to create an implementation of Durable Entities in Kotlin (or Java)?

I have added durabletask-protobuf as a submodule to my project and have set up gradle to generate the code from it.

I am hoping to be able to use a grpc client to manage the entities. I saw that localhost:4001 is used in the source code here.

I am able to create a managed channel and a stub but i keep getting an UNKNOWN error thrown by handler error every time i try to do anything with it.

I am unsure whether what i am trying to accomplish is possible or not and how i should go about it the correct way.

Any and all help is appreciated! Thanks :)

I don't think Durable Entities is currently supported in Java (Kotlin). Adding @cgillum for confirm.

Yeah, that is what I also understood for the documentation as well.

I wonder if it is possible to implement whatever is needed to get it to work for my use case.

I saw that the C# versions supports Durable Entities and I saw that it uses the protobuf to generate the code to facilitate the communication.

That is where i got the idea: Can i also use the grpc/protobuf to facilitate the mechanisms for managing a custom implementation of a durable entity?

Not sure if it is possible but it would be great if it is so. :)

It may be possible, and that would be interesting, though I'm not the expert in this area - @jviau may be able to provide some pointers. We're not actively working on Durable Entities for Java at the moment (from what I know) so I want to call out that if this is something you're willing to experiment on, we'd be open to have an open source contribution of entities for Java as well.

@davidmrdavid thanks for the feedback! This is definitely something that i would like to experiment with and contribute to. 🙂

That would be cool, though it may also be a lot, so no pressure, it may be more practical for you to just develop the bits you need for your usecase. In any case, I'll let @jviau or @sebastianburckhardt possibly list a few code pointers regarding entities and protobuf, as I'm not the expert there.