[kepler-dev] Issues in loading a new actor module

David Welker david.v.welker at gmail.com
Thu May 13 09:14:18 PDT 2010


Hi Bala,

I think I know what the problem is. One of the modules that MUST be in  
classloaders.txt is the loader module. Please add this. The  
documentation did not previously reflect this, but I have updated it.

There has not been a lot of demand for multiple class loaders.  
However, if you need it, it can be published so that it will be  
available from the Module Manager GUI and also will be set so that you  
can depend on it not changing underneath you.

The multiple-class-loaders module is not part of Kepler 2.0 because  
there is a small efficiency loss with loading Kepler with multiple  
class loaders, and most people do not need this functionality. If you  
let me know what your plans are and how we can support you, I would be  
glad to. We have no current plans in making this a standard part of  
Kepler 2.0, but it is possible that this could change with a future  
release.

An alternative to using multiple class loaders would be for you to  
investigate what it would take to upgrade these jar files in Kepler  
itself. We are not generally adverse to upgrading. Of course, we  
probably could not accommodate such an upgrade before the 2.0.0  
release. But it may be possible to patch Kepler with such an upgrade  
after the release. If you are interested in this path, let us know and  
I will inquire withthe Kepler leadership team whether you might be  
accommodated.

-David




On May 13, 2010, at 5:19 AM, AMARNATH, Balachandar wrote:

> Dear David Welker,
>
>  There is some development from my side. I deleted the entry of  
> apple-extention-2.0 and did 'ant run'. (I got this hint from earlier  
> post). I could able to see the kepler running and also a new module.
> I have checked out https://code.kepler-project.org/code/kepler/trunk/modules/multiple-class-loaders/ 
>  and re ran 'ant run' to compile the multiple-class-loaders module.  
> In my 'build-area' folder i have a 'classloaders.txt' file with name  
> of the module in it and 'multiple-class-loaders' is the first entry  
> in the 'module.txt'. Then, i ran 'ant run' but failed. I have  
> attached the error file for your reference. Is there any restriction  
> in kind of jar files we try to load for a new module ?
>
> I am equally curious to know why multiple class loaders module is  
> not included in the 'kepler-2.0.0-RC1-win.exe ?
>
> With thanks and regards
> Bala
>
> From: David Welker [mailto:david.v.welker at gmail.com]
> Sent: 13 May 2010 12:38
> To: AMARNATH, Balachandar
> Cc: Kepler-Dev Developers
> Subject: Re: Issues in loading a new actor module
>
> Hi,
>
> It looks to me that you are using Windows, but that it is trying to  
> compile Mac OS X only code only. So, this is a separate issue from  
> having separate class loaders.
>
> Can you run the following command:
>
> ant update
>
> And then see if you can compile?
>
>
> On May 13, 2010, at 12:56 AM, AMARNATH, Balachandar wrote:
>
>> Thanks for the hint david welker,
>>
>>  Few points, i would like to share at this point about my work  
>> around. First i have installed kepler 2.0 using exe installer and  
>> hence i dont find the module 'multiple class loaders'. I could  
>> checkout from https://code.kepler-project.org/code/kepler/trunk/modules/multiple-class-loaders/ 
>>  but could not compile ( i dont have build.xml in build-area folder).
>>
>>
>> Then i tried to install kepler using  build system,
>>
>> I ran the following commands,
>>
>> 1. svn co https://code.kepler-project.org/code/kepler/releases/release-branches/build-area-2.0/ 
>>  build-area
>> 2. cd build-area
>> 3. ant change-to -Dsuite=kepler-2.0
>> At the third command, i got an error due to ptolemy and i  
>> downloaded it separately from
>> 4. svn co https://source.eecs.berkeley.edu/svn/chess/ptII/branches/rel-8-0-beta-2 
>>  src
>> 5 Rerun   (3)
>> 6 ant run
>> However, the 'ant run' failed due to the following error. The  
>> complete error trace is attached in the file.
>> I thought., the error was due to one of the module named apple- 
>> extensions-2.0 and hence i replaced this modue with the one coming  
>> with installer (.exe, that contains classes not the sources)
>> With this way, i could successfully run 'ant run' and see the  
>> kepler working.
>>
>> Now, i went on to create a new module named 'FileProcess' using the  
>> following commands
>> 'ant make-module-suite -Dname=FileProcess'
>> and loaded with source code of the actor, and
>> 'ant change-to -Dsuite=FileProcess' followed by
>> 'ant run'. This is failed due to the error and attached the error  
>> file as well
>>
>> Can you give me a hint on this,
>>
>> with thanks and regards
>> Balachandar
>>
>>
>>
>>
>>
>>
>>
>>
>> From: David Welker [mailto:david.v.welker at gmail.com]
>> Sent: 12 May 2010 20:58
>> To: AMARNATH, Balachandar
>> Cc: Kepler-Dev Developers
>> Subject: Re: Issues in loading a new actor module
>>
>> Hi Balachandar,
>>
>> It sounds as though you need to use a separate class loader for  
>> your module, at least for now. If it was not so close to the time  
>> for the release, I would look into discussing with the appropriate  
>> maintainers of those modules the possibility of upgrading the jars  
>> to the versions you need.
>>
>> First, lets look at what you did and understand why it didn't work.  
>> When your module is in the HIGHER PRIORITY position (above the  
>> other modules in modules.txt) your jars are used for EVERYTHING at  
>> run time. If the jars are compatible, this doesn't matter. But in  
>> this case, the jars are not compatible, and you are breaking  
>> existing functionality. When you put your module in the LOWER  
>> PRIORITY position (below the other modules in modules.txt), then  
>> the jars provided by the system are used for EVERYTHING at run  
>> time. Which means you do not get the additional functionality you  
>> expect from the new jars you have added.
>>
>> So, here is the solution. You need to use a separate class loader,  
>> and explained in the build system instructions. In this email to  
>> me, you say that you put the actor name in classloaders.txt. But  
>> you need to put the MODULE name, not the actor name in that file.  
>> You also have to put the module "multiple-class-loaders" in the  
>> highest priority position in the suite you are developing. This is  
>> described in the build system instruction here:
>>
>> https://kepler-project.org/developers/teams/build/documentation/build-system-instructions 
>> #using-a-separate-class
>>
>> So, can you try this? If it doesn't work, let me know and we will  
>> look more deeply into this.
>>
>> -David
>>
>>
>> On May 12, 2010, at 5:01 AM, AMARNATH, Balachandar wrote:
>>
>>> Dear David Welker
>>>
>>>
>>> My issue is straight forward that is it possible to have separate  
>>> set of jar files to be loaded for my module ? Can I get some  
>>> example solution ?
>>>
>>>
>>> I have wrote a new actor using kepler 2.0 that uses the following  
>>> jar file 'castor-1.0.jar and jsch-0.1.37.jar'. However, when i run  
>>> the actor from the workflow canvas, it is not functioning as i  
>>> exepected and i found that is due to the conflicts of similar jars  
>>> 'castor-0.95.jar' and jsch-0.1.31' present in the module  
>>> 'actors-2.0 and ssh-2.0' respectively.
>>>
>>> I tried to load my actor module ahead of 'actors-2.0' and  
>>> 'ssh-2.0' by editing modules.txt in build-area folder. This fixed  
>>> the issue but right clicking over the actor is not  
>>> functioning ..!!!.
>>>
>>> I have also tried to create a text file callled 'environment.txt'  
>>> in module-info folder of my actor which i specified the CLASSPATH  
>>> and its values, didnt work
>>>
>>> I also created a text filed classloaders.txt in build-area  
>>> specifying my actor name in it so that kepler understands this  
>>> actor requires a separate class loader. Didnt work.
>>>
>>> Can you help me out to come of this issue, I have also posted this  
>>> to forum :)
>>>
>>>
>>> with thanks and regards
>>> Balachandar
>>>
>>> The information in this e-mail is confidential. The contents may  
>>> not be disclosed or used by anyone other than the addressee.  
>>> Access to this e-mail by anyone else is unauthorised.
>>> If you are not the intended recipient, please notify Airbus  
>>> immediately and delete this e-mail.
>>> Airbus cannot accept any responsibility for the accuracy or  
>>> completeness of this e-mail as it has been sent over public  
>>> networks. If you have any concerns over the content of this  
>>> message or its Accuracy or Integrity, please contact Airbus  
>>> immediately.
>>> All outgoing e-mails from Airbus are checked using regularly  
>>> updated virus scanning software but you should take whatever  
>>> measures you deem to be appropriate to ensure that this message  
>>> and any attachments are virus free.
>>
>> This mail has originated outside your organization, either from an  
>> external partner or the Global Internet.
>> Keep this in mind if you answer this message.
>>
>> The information in this e-mail is confidential. The contents may  
>> not be disclosed or used by anyone other than the addressee. Access  
>> to this e-mail by anyone else is unauthorised.
>> If you are not the intended recipient, please notify Airbus  
>> immediately and delete this e-mail.
>> Airbus cannot accept any responsibility for the accuracy or  
>> completeness of this e-mail as it has been sent over public  
>> networks. If you have any concerns over the content of this message  
>> or its Accuracy or Integrity, please contact Airbus immediately.
>> All outgoing e-mails from Airbus are checked using regularly  
>> updated virus scanning software but you should take whatever  
>> measures you deem to be appropriate to ensure that this message and  
>> any attachments are virus free.
>> <error_antRun><error_newModule>
>
> This mail has originated outside your organization, either from an  
> external partner or the Global Internet.
> Keep this in mind if you answer this message.
>
> The information in this e-mail is confidential. The contents may not  
> be disclosed or used by anyone other than the addressee. Access to  
> this e-mail by anyone else is unauthorised.
> If you are not the intended recipient, please notify Airbus  
> immediately and delete this e-mail.
> Airbus cannot accept any responsibility for the accuracy or  
> completeness of this e-mail as it has been sent over public  
> networks. If you have any concerns over the content of this message  
> or its Accuracy or Integrity, please contact Airbus immediately.
> All outgoing e-mails from Airbus are checked using regularly updated  
> virus scanning software but you should take whatever measures you  
> deem to be appropriate to ensure that this message and any  
> attachments are virus free.
> <ant_RunFileProcess>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercury.nceas.ucsb.edu/kepler/pipermail/kepler-dev/attachments/20100513/33389dea/attachment-0001.html>


More information about the Kepler-dev mailing list