|
I did a more investigation - I finally got the problem when it occurs - usually slave was restarted and fine when I received the ticket about this problem. I even find exact place where it is. To more explanation there is a difference in obtaining property.
for example my code on affected slave:
PropertyResourceBundle.getBundle("com.sun.org.apache.xerces.internal.impl.msg.SAXMessages", Locale.US)
this return right bundle without problems.
but calling (as it is done in by in SAXReader used by this plugin)
SecuritySupport.getResourceBundle("com.sun.org.apache.xerces.internal.impl.msg.SAXMessages", new Locale("en", "US"));
this throws exception MissingResourceException.
It is very strange because SecuritySupport.getResourceBundle() calls the same code (PropertyResourceBundle.getBundle("com.sun.org.apache.xerces.internal.impl.msg.SAXMessages", Locale.US) ) bud under AccessController.doPrivileged():
public static ResourceBundle getResourceBundle(final String bundle, final Locale locale) { return AccessController.doPrivileged(new PrivilegedAction<ResourceBundle>() { public ResourceBundle run() { try { return PropertyResourceBundle.getBundle(bundle, locale); }
catch (MissingResourceException e) { try { return PropertyResourceBundle.getBundle(bundle, new Locale("en", "US")); }
catch (MissingResourceException e2) { throw new MissingResourceException( "Could not load any resource bundle by " + bundle, bundle, ""); }
} } }); }
It seems that there is some difference in execution this code (despite it is the same). I will try to investigate what is different. That could be a way how to realized what is wrong. I think that it maybe will not be problem in plugin itself (bug in jdk or remoting or leaking some classes for master....). Have any of us idea?
|