MySQL Cluster 7.2.8 for windows does not contain ndbclient
Posted by:
Jay Lim
Date: September 19, 2012 04:28PM
Hi,
I have previous developed a Java app with ClusterJPA as the persistence framework on a linux machine. After installing MySQL Cluster 7.2.8 in Windows , my app could not run due to the following exception:
SEVERE: Attempt to load native library ndbclient from path c:\mysql\lib failed with class java.lang.UnsatisfiedLinkError (no ndbclient in java.library.path).
Exception in thread "main" <openjpa-2.2.0-r422266:1244990 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: Error getting connection to cluster with properties {com.mysql.clusterj.connect.verbose=0, com.mysql.clusterj.connect.retries=4, com.mysql.clusterj.connect.delay=5, com.mysql.clusterj.connectstring=localhost:1186, com.mysql.clusterj.max.transactions=1024, com.mysql.clusterj.connect.timeout.before=30, com.mysql.clusterj.database=housedb, com.mysql.clusterj.connect.timeout.after=20}:
Caused by com.mysql.clusterj.ClusterJFatalUserException:Attempt to load native library ndbclient from path c:\mysql\lib failed with class java.lang.UnsatisfiedLinkError (no ndbclient in java.library.path). Caused by java.lang.UnsatisfiedLinkError:no ndbclient in java.library.path
at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:218)
at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
at aa.Main.main(Main.java:20)
It seems to me that the ndbclient is missing from the lib folder. In fact in the windows' version of the lib folder, only "ndbclient_static.lib" is present. On the other hand, in linux, various files (libndbclient.so, libndbclient.so.6.0.0, libndbclient_static.a & ndb_engine.so) are present. Please correct me if I am wrong, but is the windows version really missing that file to run the ndbclient? If so, is there any remedy for this?
Thank you!
-Jay