License State

#1

Hi Support Team

is there any valid way to read the correct lincense state from the program?

Background:

We have an OEM License of objectdb. I'm building our application automaticly via gradle. The enhancement is done in a gradle task. Unfortunatly this has to be done on a macos due to XCode and notarisation issues. The macos changes its mac-id every time I connect to our office via VPN (due to home-office) . And the licensemanagement of objectdb relies on the mac-id.

So in the end, if I forgot to disconnect the VPN connection there is no valid enhancement for the whole build for all different platforms. This will be recognized in the UAT after enhancing, building, notarisation, uploading and testing the all installers.

If I could read the (valid) licensestate programmaticly, I would extend my gradle task and let it fail fast in case I forgot to disconnect the VPN connection.

best regards

Arne

#2

You can check if activation is working using a query:

    System.out.println(emf.createEntityManager().createQuery(
        "objectdb activation", boolean.class).getSingleResult());

It will not tell you the mode (i.e. OEM). We can implement it if you need it.

However, all the OEM enhanced entity classes implement a special interface, com.objectdb.spi.SignedType, so you can test that the relevant classes were enhanced in OEM mode using instanceof.

In addition, if you capture the output of the Enhancer you should find the word OEM in the output.

ObjectDB Support
#3

thanks

that's what I was looking for and it helped very much

best regards

Arne

#4

A new query is now supported in version 2.9.4_02 for checking for OEM activation, i.e. if a valid OEM activation code was found in the configuration file: 

    System.out.println(emf.createEntityManager().createQuery(
        "objectdb oem", boolean.class).getSingleResult());
ObjectDB Support
#5

Thanks for information:

regarding the  OEM license I've another issue:
I've updated my macbook to the latest version of macos Sequioa 15.6.1 (24G90). Unfortunately since then the mac-id behavior drives me crazy (*).
If I create a new activation code for my objectdb.conf it will be valid sometimes for 2 hours, sometimes only for 30 minutes or less and sometimes for the whole day. Once the license is becoming invalid, I have do repeat this procedure to continue working. Enhancing is implemented in our gradle build so every new build or turnaround needs a valid license. 

(*) of course I deactivated the new rotating mac-id behavior of sequioa. As for now, my macbook could not be used as developing machine unless I want to reactivate my license up to 10 times a day. 

best regards
Arne

#6

Since the new question falls outside the scope of the original post (and its title), it has been moved to a new forum thread.

ObjectDB Support

Reply