On 13/03/2018 09:23, Bernard Amade wrote:
now if in module B you just create a Service by inheriting from this class:
  - the className is correct (an instance of the class has been created for the 
service)
- you can't invoke newInstance from that very class!(if the class is not opened 
or exported)
Constructor::newInstance has always been caller sensitive. If I read the example correctly, you've got code in class A trying to create an instance of class B. B is not accessible to A, it doesn't matter that B extends A. The issue you are running into isn't new with modules - you'll see the same IllegalAccessException with the class path for the case that B is not public (and in a different package to A).


- you can't get the Resource (or other files) unless they are explicilty opened.
if you copy this code in the class implementing the service everything just 
works fine
so there is a difference between the same code being explicitly in the class or 
inherited!
The Class.getResourceXXX methods are also caller sensitive so the example is code in class A trying to locate a resource in its own module. If you maintain both A and B then it would be simpler if B were to call the method in the super class with a connection or URL to the resource.

-Alan.

Reply via email to