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?

0 8 826
8 REPLIES 8

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.

Thanks @christianpaula , for your valuable time,

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

Will keep posted.

 

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

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

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.

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.

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 {
 
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<TestUserClass1> users;
 
//This is below JDO representation, Wants to replace with Objectify
 
@Persistent(mappedBy = "testGcpClass1", defaultFetchGroup = "true")
@Element(dependent = "true")
private Set<TestGroupClass2> group;
 
}
 
 
@Entity
public class TestUserClass1 implements Serializable {
 
private Long pId;
 
@Index
private String name;
 
//This is below JDO representation, Wants to replace with Objectify
@Persistent
private TestGCPClass1 testGcpClass1;
 
}