[jboss-jira] [JBoss JIRA] Closed: (JBAS-6057) system property java.rmi.server.codebase is only read when JBoss starts
Adrian Brock (JIRA)
jira-events at lists.jboss.org
Wed Oct 8 09:27:20 EDT 2008
[ https://jira.jboss.org/jira/browse/JBAS-6057?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Adrian Brock closed JBAS-6057.
------------------------------
Resolution: Rejected
Assignee: (was: Dimitris Andreadis)
How can this be a JBoss bug?
The "delegate" shown above is a JDK class.
Its the default RMIClassLoaderSpi implementation.
e.g. if you look at the openjdk source it is
sun.rmi.server.LoaderHandler which only looks at the system property
during static class initialisation.
If you don't like what the JDK does, then change it using the RMIClassLoaderSpi
like we have done (obviously you'll also need our "fixes" if you are going to swap
out the jboss class configured in conf/jboss-service.xml).
I doubt you could persuade us to add a System.getProperty() to our version where you describe.
This method could be invoked for every class/object that gets marshalled in an RMI
request/response so it is on the critical path for performance
Also, to be extra picky, its actually not allowed for a
JavaEE application to change system properties anyway. :-)
> system property java.rmi.server.codebase is only read when JBoss starts
> -----------------------------------------------------------------------
>
> Key: JBAS-6057
> URL: https://jira.jboss.org/jira/browse/JBAS-6057
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: System service
> Affects Versions: JBossAS-4.2.2.GA
> Environment: unix
> Reporter: Emil Salageanu
>
> If an application wants to ad an entry (an url) to the system property java.rmi.server.codebase (i.e. for using its own class server), this new codebase will never be taken into account.
> The org.jboss.system.JBossRMIClassLoader.getClassAnnotation(Class cl) method will delegate the work to an RMIClassLoaderSpi object and only reads the system codebase property if there is any error:
> try
> {
> annotation = delegate.getClassAnnotation(cl);
> }
> catch(Throwable t)
> {
> // Try the java.rmi.server.codebase property
> annotation = System.getProperty("java.rmi.server.codebase");
> }
> A solution would be to compare the codebase sent by the delegate object with the system codebase property, and see if, in the system property are there any additional urls, and buid the class annotation accoring to that.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list