This is a suggestion for a new task for Ant called "wlrmic". This task can be used to invoke the BEA Weblogic RMI compiler using the same arguments as for the existing rmic task.
I have extended Rmic.java to provide some abstractions for getting the
stub/skeleton suffixes, for creating the compiler and for adding the command
arguments. These methods are added differently in the WLRmic class added to the
optional/ejb package.
I've also fixed a bug in the isValidRmiRemote() method which returned true for
java.rmi.Remote until now. This never caused an error so far because the 'if'
clause in mapFileName() avoided interfaces before calling isValidRmiRemote();
but it looks cleaner like this. Besides that, I've streamlined this method a bit
to use isAssignableFrom() instead of calling isValidRmiRemote() recursively.
One issue remains with this implementation: Since the Weblogic RMI compiler
mangles the names of the classes to be
<name_of_the_*interface*_extending_weblogic.rmi.Remote>_WLStub and <...>_WLSkel,
or sometimes even produces files with strange numbers like WLStub123...45.java,
the up-to-date check always fails and the rmi compiler is always called on the
classes implementing weblogic.rmi.Remote. If someone has an idea how this could
be solved, please let me know.
The attached .zip contains the patch file for Rmic.java and a new source
WLRmic.java that should be added to optional/ejb.
-- best regards,
Peter Holzwarth.
Interactive Objects Software GmbH
---- < iO > ----------------------------------------------------------
Interactive Objects Software GmbH (iO) phone (+49)-761-400 73-0
Baslerstr. 63, 79100 Freiburg, Germany fax (+49)-761-400 73-73
mailto:[EMAIL PROTECTED] http://www.io-software.com
______________________________________________________________________
ArcStyler - the IT-Architectural IDE for J2EE/EJB
-> IBM Solution Excellence Award winner for Hot Java Solution
-> European Information Society Technologies Prize Winner 2001
-> free trial-version at http://www.ArcStyler.com
<<attachment: wlrmic.zip>>
