Datanucleus appengine plugin 2.1.2 || JAVA 17 migration

Please provide me compatible JAR for java 17 migration , datanucleus appengine heading back with issue

Exception thrown creating Store Manager : Class “com .Datastore Manager” was not found in the CLASSPATH. Please check your specification and your CLASSPATH.

Can someone acknowledge and let me know if datanucleus-appengine 2.1.2 version is compatible with java 17?or if there any alternative provided to that plugin?

Hi @SudhirRongali ,

Welcome to Google Cloud Community!

Unfortunately, it looks like the datanucleus-appengine plugin version 2.1.2 is not compatible with Java 17. According to the release notes for the plugin, the latest version that supports Java 8 is version 2.1.2.

You may file a feature request in this link however, there’s no ETA for it.

Reference: Understanding your migration options
Note: Not all the App Engine bundled services available for Java 8 have a corresponding service in Java 11/17. For the full list of legacy bundled services APIs available for Java 11/17, see the legacy bundled services API references documentation.

1 Like

Thanks @christianpaula , for your valuable time,

We are working around and looking forward with solution that you provided.

Will keep posted.

Hello @christianpaula ,

We are still facing issue with datanucleus-appengine plugin. Do you have a workaround to resolve JDO class enhancer for Java 17.

Thanks

1 Like

Hi Sudhir, What work around did you use finally? How did you get past this issue? It would help us since we are also figuring out what to do

1 Like

We are not able to build our project with Datanucleus JDO for Java 17 in GCP app-engine standard environment, Is any one knows, How to build it.

Hi @mangesh-mpl

We had migrated our product from JDO to Objectify for Java 17.

1 Like

JDO Datanucleus is not supported above Java 8 or in Gen2 runtimes. In light of this, we recommend considering a transition to Java Objectify, which provides a more robust and supported alternative.

1 Like

Hello There,

Is Anyone knows How to replace @Element annotation and mappedBy, defaultFetchGroup of JDO with Objectify. Please check below example.

@Entity
public class TestGCPClass1 implements Serializable {

@id
private Long pId;

@Index
private String name;

//This is below JDO representation, Wants to replace with Objectify

@Persistent(mappedBy = “testGcpClass1”, defaultFetchGroup = “true”)
@Element(dependent = “true”)
private Set users;

//This is below JDO representation, Wants to replace with Objectify

@Persistent(mappedBy = “testGcpClass1”, defaultFetchGroup = “true”)
@Element(dependent = “true”)
private Set group;

}

@Entity
public class TestUserClass1 implements Serializable {

@id
private Long pId;

@Index
private String name;

//This is below JDO representation, Wants to replace with Objectify
@Persistent
private TestGCPClass1 testGcpClass1;

}