- Revenera Community
- :
- FlexNet Publisher
- :
- FlexNet Publisher Forum
- :
- Re: Multiple versions for same Feature name in single license file
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi,
Is it possible to have multiple versions for same Feature name in single license file? For ex:
FEATURE HCL_Cameo_Connector gssl 6.1 23-aug-2023 10 \
VENDOR_STRING=trial SIGN="0"
FEATURE HCL_Cameo_Connector gssl 6.2 permanent 20 \
VENDOR_STRING=permanent SIGN="0"
FEATURE HCL_Cameo_Connector gssl 7 permanent 20 \
VENDOR_STRING=permanent SIGN="0"
The idea is to reduce number of license servers for different product versions. Multiple users(in same organization) on different product versions should be able to checkout license of same feature name from same server.
Any other alternative would be appreciated.
Thanks
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi @ashish01 ,
Yes , you can have multiple lines for same feature name with different version but please note
FEATURE and INCREMENT lines describe the license model for a product. Only the first FEATURE line for a given feature name is processed by the vendor daemon. If you want to have additional copies of the same feature (for example, to have multiple node-locked, counted features), then you must use multiple INCREMENT lines. INCREMENT lines form license groups, or pools, based on the following fields:
• feature name
• version
• BORROW
• DUP_GROUP
• FLOAT_OK
• HOST_BASED
• HOSTID
• PLATFORM
• TZ
• USER_BASED
• VENDOR_STRING (if configured by the publisher as a pooling component)
• VM_PLATFORMS
If two lines differ by any of these fields, a new group of licenses, called a license pool, is created in the vendor daemon, and this group is counted independently from other license pools with the same feature name. A FEATURE line does not give an additional number of licenses, whereas an INCREMENT line always gives an additional number of licenses .
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi @ashish01 ,
Unfortunately there is no equivalent for checkout filter in the Java kit , You will need to use native C code if you want to implement a checkout filter.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi @ashish01 ,
Yes , you can have multiple lines for same feature name with different version but please note
FEATURE and INCREMENT lines describe the license model for a product. Only the first FEATURE line for a given feature name is processed by the vendor daemon. If you want to have additional copies of the same feature (for example, to have multiple node-locked, counted features), then you must use multiple INCREMENT lines. INCREMENT lines form license groups, or pools, based on the following fields:
• feature name
• version
• BORROW
• DUP_GROUP
• FLOAT_OK
• HOST_BASED
• HOSTID
• PLATFORM
• TZ
• USER_BASED
• VENDOR_STRING (if configured by the publisher as a pooling component)
• VM_PLATFORMS
If two lines differ by any of these fields, a new group of licenses, called a license pool, is created in the vendor daemon, and this group is counted independently from other license pools with the same feature name. A FEATURE line does not give an additional number of licenses, whereas an INCREMENT line always gives an additional number of licenses .
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi,
Thank you for the answer. One thing I noticed after implementing your solution is that when I checkout all the licenses of feature HCL_Cameo_Connector having version 6.2 , I am still able to checkout license of the same feature having version 7 (see attachment), even though I am checking out license for 6.2. Is this the correct functioning? Ideally it should give error message 'All licenses are in use' for version 6.2.
Thanks
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi @ashish01 ,
I tested this out , Once the license of version 6.2 are over automatically license from next pool will be checked out but you will get a denied message before that like below
18:00:39 (demo) OUT: "f1" JYadav@BLR-LT
18:00:50 (demo) DENIED: "f1" JYadav@BLR-LT(Licensed number of users already reached. (-4,342))
18:00:50 (demo) OUT: "f1" JYadav@BLR-LT
Also Consider the below example
SERVER speedy 08002b32b161
VENDOR demo
INCREMENT f1 demo 1.0 permanent 3 SIGN=2B8F921C172C
INCREMENT f1 demo 2.0 permanent 4 SIGN=2B9F174C142C
These lines form two separate license pools, one with three licenses for version 1.0 and one with four licenses for version 2.0. A request for five licenses for version 1.0 is denied because neither pool has five licenses.
By default, license request of a certain version can check out a feature whose version number on FEATURE/INCREMENT line is higher than, or equal to the requested version. However, it's possible to enforce exact match of license version by implementing a custom filter function for the LM_A_CHECKOUTFILTER callback.
For example, before requesting a license feature of version "1.0", the filter function may be set for the LM_A_CHECKOUTFILTER callback as follows, so that lc_checkout() can only check out license from a FEATURE/INCREMENT line whose version number is exactly "1.0".
int myFilter (CONFIG *conf){
if (strcmp(conf->version, "1.0") == 0) {
return 0;
}
else {
return 1;
}
}
....
lc_set_attr(lm_job, LM_A_CHECKOUTFILTER, (LM_A_VAL_TYPE)myFilter);
lc_checkout(lm_job, feature, "1.0", nlic, LM_CO_NOWAIT, &code, LM_DUP_NONE);
Hope this helps !!
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi @jyadav ,
Can you point me to the section in the Java document where I can get more clarity on how to apply filter in Java while checkout pls. I 'FNP_11.18.3_doclib.pdf' document.
Thanks
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi @ashish01 ,
Unfortunately there is no equivalent for checkout filter in the Java kit , You will need to use native C code if you want to implement a checkout filter.
![](/skins/images/D60DF682EA37BF37032955CE10F3F0BB/responsive_peak/images/icon_anonymous_message.png)