I’m trying to connect to a Datomic Cloud instance through Tomcat on AWS running jetty. It was working but something changed and now I am receiving the following error
Unable to resolve entry point, make sure you have the correct version of com.datomic/client on your classpath
Not sure how to debug this.
Can you provide the client configuration map that you are using for the connection?
You mention that “something changed” - did you possibly change any AWS networking or permissions/security groups settings?
Is this what you mean by client configuration:
{
:server-type :ion
:region "us-east-1"
:system "xxxxxxxx"
:endpoint "http://vpce-xxxxxxxxxxxxxxxxx-xxxxxxx.vpce-svc-xxxxxxxxxxxxxxxxx.us-east-1.vpce.amazonaws.com:8182/"
}
The only thing I did was upload and deploy a new version that fixed a very minor bug, so doubt it was that. Actually every time this occurred was after an upload and deploy. From all my research it always seems to be pointing to a Tomcat issue, but really unsure.
Finally, I resolved the issue by not going with Tomcat, but by just serving the app using Jetty on an ELB running Java, with a Nginx reverse proxy. Now it runs without errors and I can upload and deploy without issue.
Would you like other information? Otherwise thank you so much for your response. It is greatly appreciated.
I’m glad you were able to resolve the issue.
It does indeed sound like Tomcat may have been the issue since you were able to resolve the problem using Jetty directly.
I didn’t resolve the issue on Tomcat in AWS, other than what I did, but I managed to reproduce the error, so writing it here in case someone else searches for it.
I managed the reproduce the error when running the application by having a compile JAR (in the target folder) and then compiling and running in debug through the IDE. This seems to create a library resolution issue in Java.
So I’m deducing that when uploading and deploying to Tomcat on AWS, it must have a cache that keeps the old jar at the same time as the new jar, and thus probably creates this resolution issue.