This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
I have succefully registered an activatable class to rmid. This class, ServerImpl, needs to open a connection to a MySQL database located on another computer. The JDBC driver(mysql.jar) is located on a webserver. The code for this is in the the contructor, like this:
I get an exception when starting the client, which says, "Can't find a suitable driver for jdbc:mysql://hostname/db". Normally you would use Class.forName("com.mysql.jdbc.Driver), but that won't work here(?). How can I load the driver so that this activatable class can see it?
You can not put the jar containing the driver classes in the application classpath. So, you are creating one classloader containing the location of the jar and instantiate the driver using this classloader. However, you are not able to set the same classloader while doing:
Is my understanding correct?
If yes, then you do not need to use DriverManager.getConnection() for drivers loaded by custom classloaders. Instead you can use:
This thread has more details on which properties to pass to the connect method.