Adding module causes classloading issues

Michael Hall mik3hall at gmail.com
Tue Nov 28 09:14:55 UTC 2017


> On Nov 28, 2017, at 2:35 AM, Alan Bateman <Alan.Bateman at oracle.com> wrote:
> 
> On 28/11/2017 02:00, Alex Buckley wrote:
>> 
>> Thank you, for investigating how your app relates to CORBA, JTA, and Attach. I hope http://openjdk.java.net/jeps/8189188 was informative at least. Alan will probably be along shortly with some points I missed.
> One point that I didn't see mentioned in the thread so far is a detail in the JEP 261 policy on root modules for the case that module java.se is not observable. When java.se is not observable then all modules (system or upgrade module path) that export an API are resolved. The output of `java --list-modules` will answer his quickly but I'll bet the image doesn't have java.se.
> 
HalfPipe7.app/Contents/PlugIns/Java.runtime/Contents/Home/bin/java --list-modules | grep java.se
java.security.sasl at 9


> I don't know what halfpipe is

java shell application - halfpipe = platform for skateboarding tricks. Sort of a lot of different body parts put together to make a Frankenstein monster.

> but it would be interesting to paste in the detailed output from jdeps so we can see if it really depends on classes in java.corba.

It’s a little alarming jdeps might report false dependencies? I would rather spare you the full output. How about…

jdeps halfpipe.jar | grep corba
halfpipe.jar -> java.corba
   org.cmdline                                        -> javax.rmi                                          java.corba
 

> I'm also interested in the first mail about "JMX Attach" as it's not clear what that means. Is jconsole or VisualVM in the picture? This would require the java.management.rmi module to be included.

At one point I was adding JSR 223 interfaces into the application. During the OS X port days when there was no java provided javascript JSR 223 interface yet I did one for Rhino javascript that included code, based on a blog of yours actually, that allowed it to pid attach to java processes and do scripting. Sort of like the Notebook example but again before I knew of any other way to do this it also allowed attaching to any java process. 
One thing I thought the application might work as would be a monitoring/automation type app. At one point I worked on a IBM mainframe product for one of those for data center automation - CA OPS/MVS. REXX based for the language I’m afraid. So a little nostalgia coding getting my app to do some things similar.
I was thinking of re-doing this code for Java 9. JMX attach now seemed to be the way to go. jconsole I believe does this successfully and I have started looking at that to see what it might be doing right that I am not. So far no matter what I do I always end up with the same rmi: url that is rejected. Even based on what jconsole seems to be doing.
I thought maybe the missing corba explains this but since that seems to conflict with the Quartz scheduler I added. Another ‘automation’ like feature. 
Maybe I will put this on hold for now.

> 
> As Alex mentioned, this case is crying out for the XA-less JTA that Alex mentioned. Hopefully the JSR 907 spec lead will sort this out soon.

Also a little sorry to hear the code is crying out but again it may be best to put it on hold then.

> 
> -Alan

Thanks. I will try to remain aware of these coming related changes.



More information about the jigsaw-dev mailing list