New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Name of automatic module 'cqengine' is unstable, it is derived from the module's file name. #237
Comments
Oh, and I already tested it and it works preventing the warning and all tests pass. I can create a PR if necessary, but for such a small change I thought it might be overkill. |
Interesting. Thanks for suggesting this and letting me know exactly how to fix it! I will make sure to include this in the next release! |
Well, thank YOU for creating such a useful library ;). I created an initialization library that uses it +consul+hazelcast to have a clusterized, replicated "queriable" in-memory cache and I was exploring the waters to make it full Java >9 modular when I came across this. |
@Verdoso how would you compare it to hazelcast IMap? Are you using hazel with consul discovery? Any benefits over the default discovery mechanism? @archenroot might be interested in a distributed cqengine :) do you have a link? |
Well, Hazelcast IMap is distributed, so queries can depend on partitions, topology... and I wanted my "indexed caches" to be local/predictable so... The implementation we are using is this: ClusteredConcurrentIndexedCollection |
This apparently has not been fixed. The latest version of cqengine (3.6.0) provides no Automatic-Module-Name and will generate warnings and prevent modularized publishing. Can we add an Automatic-Module-Name for this project? I would suggest something like |
Hi there,
The message in the issue title is what you gen when you use CQEngine with Java 9, and even though it is "just" a warning, it also recommends not releasing anything using it etc. etc. which makes CQEngine look bad.
I know migrating to Java >9 module system is not exactly a wlak in the park, tell me about it, but there is a simple change that can make life easier for everybody and stop that warning from appearing without forcing CQEngine to get into modul-info.java pains: The Automatic-Module-Name just needs to be declared in the manifest, so it is not derived from the file name and that's it.
The only thing necessary would be to add the following lines to the pom:
and that's it. To put it in context (formatted to prevent horizontal scroll):
becomes
AFAIK, there's no side effect except making the name used by the module system to be considered stable, thus preventing the associated warnings and avoidance recommendations.
Could this be considered? I know it's not such a big deal, but every little step in the good direction counts :).
Thanks,
D.
PS: For reference, one can check the following URL: http://branchandbound.net/blog/java/2017/12/automatic-module-name/
The text was updated successfully, but these errors were encountered: