Fwd: Tuscany sample app
Hi, Really Sorry :) forgot to include geronimo-dev list in the cc after saying it should be tracked on both the lists. Please respond to this mail from now on as it has both the lists included. Regards Manu -- Forwarded message -- From: Manu George [EMAIL PROTECTED] Date: May 23, 2007 11:08 AM Subject: Re: Tuscany sample app To: tuscany-dev@ws.apache.org Hi Raymond, Thank you for the warm welcome and for the prompt response. I am adding my comments inline below. On 5/23/07, Raymond Feng [EMAIL PROTECTED] wrote: Hi, Manu. Welcome to Tuscany and thank you for looking into Tuscany/Geronimo integration. Please see my comments inline below. Thanks, Raymond - Original Message - From: Manu George [EMAIL PROTECTED] To: tuscany-dev@ws.apache.org Sent: Tuesday, May 22, 2007 1:00 PM Subject: Re: Tuscany sample app Hi, I am new to this list and product. I just wanted to know if there is any work going on in implementing deep integration with apache geronimo app server. If it is going on I am volunteering to help. If not I would again like to volunteer to take up that task along with anyone else interested. It would be really great that we start the Tuscany/Geronimo integration now as we have a stable Tuscany code base (the 0.90 relase are being voted on). A few of other folks have also expressed their interests in this area. Let's keep all the discussions on this ML so that all of us can participate. I'm not sure what's the best way to Sure thats the best way. Currently I have experimented a bit with deep integration and got the calculator service to deploy on geronimo.What I have achieved is the ability to deploy Tuscany services on geronimo packaged in a jar with a geronimo specific deployment descriptor. This is a very good step forward. Did you use the geronimo module plan for the jar? What I have done is I wrote 2 gbeans. One GBean takes care of rigging up and starting the ReallySmallRuntime that provided with Tuscany. The other GBean takes care of instantiating the GeronimoSCADomain class. The latter GBean should be run in the same class loader as the SCA application so that during the SCADomain creation the .composite files can be picked up. I then wrote a deployer that implements the ConfigurationBuilder interface of geronimo and implemented the methods. This deployer is also a gbean and after registration it will be called for all jars that are deployed that have META-INF/geronimo-tuscany.xml files with a particular namespace. What this deployer does is create a configuration whose classloader contains all the classes in the jar, rig the second GBean and add it to the configuration so that an SCADomain is created. In case of J2EE modules I created a Deployment Watcher class which again adds the second gbean to the configuration of the j2ee module if it contains META-INF/geronimo-tuscany.xml So when the configuration starts the second gbean also starts which starts the SCADomain and registers it in Global JNDI. When the configuration stops the domain is closed and removed from JNDI. Since the runtime just provides services to the SCADomain that contains it, I just inject the ReallySmallRuntime I created earlier into the SCADomain. What I have done is created a new Domain class GeronimoSCADomain and the only difference of this from default SCA domain is that it takes a ReallySmallRuntime as a parameter instead of creating it. So effectively one Runtime can be shared among all the SCADomains. I am assuming that there will be a single SCADomain per application and all SCADomains will share the same Runtime. Due to my lack of tuscany knowledge I am not sure if this is the way to go about it. Can any one of the tuscany gurus clarify if this is the correct approach? The SCA domain is a collection of runtimes that can host SCA composites. The domain is logically represented as a SCA composite which include all the deployable composites activated by all runtimes in the SCA domain. A SCA domain can span multiple machines over the network. It consists of all the runtimes that run SCA applications. Ok, I was unaware that a domain can have multiple runtimes. But like the webapp sample which has a single runtime I am thinking that Geronimo will also have a single runtime only. ATleast initially that may be the way to go forward. Also from what i see of the code, the runtimes just provide services which the sca domain uses to set itself up. So its my assumption that a runtime that an SCADomain accesses doesn't need to be exclusive to it but can be shared among domains. Can you advise me if this assumtion is ok? I was unable to understand the need to create multiple runtimes for each sca domain (other than for the web app based integration). If there are any other reasons can someone please explain why we need a runtime per app? ? Other things that i am experimenting with is the ability to package the tuscany service along
Tuscany/Geronimo deep integration was: Re: Tuscany sample app
Hi, Manu. Would it be possible that you make your code available in a JIRA? This way, we can look into it to better understand your approach. Thanks, Raymond - Original Message - From: Manu George [EMAIL PROTECTED] To: tuscany-dev@ws.apache.org Sent: Tuesday, May 22, 2007 10:38 PM Subject: Re: Tuscany sample app Hi Raymond, Thank you for the warm welcome and for the prompt response. I am adding my comments inline below. On 5/23/07, Raymond Feng [EMAIL PROTECTED] wrote: Hi, Manu. Welcome to Tuscany and thank you for looking into Tuscany/Geronimo integration. Please see my comments inline below. Thanks, Raymond - Original Message - From: Manu George [EMAIL PROTECTED] To: tuscany-dev@ws.apache.org Sent: Tuesday, May 22, 2007 1:00 PM Subject: Re: Tuscany sample app Hi, I am new to this list and product. I just wanted to know if there is any work going on in implementing deep integration with apache geronimo app server. If it is going on I am volunteering to help. If not I would again like to volunteer to take up that task along with anyone else interested. It would be really great that we start the Tuscany/Geronimo integration now as we have a stable Tuscany code base (the 0.90 relase are being voted on). A few of other folks have also expressed their interests in this area. Let's keep all the discussions on this ML so that all of us can participate. I'm not sure what's the best way to Sure thats the best way. Currently I have experimented a bit with deep integration and got the calculator service to deploy on geronimo.What I have achieved is the ability to deploy Tuscany services on geronimo packaged in a jar with a geronimo specific deployment descriptor. This is a very good step forward. Did you use the geronimo module plan for the jar? What I have done is I wrote 2 gbeans. One GBean takes care of rigging up and starting the ReallySmallRuntime that provided with Tuscany. The other GBean takes care of instantiating the GeronimoSCADomain class. The latter GBean should be run in the same class loader as the SCA application so that during the SCADomain creation the .composite files can be picked up. I then wrote a deployer that implements the ConfigurationBuilder interface of geronimo and implemented the methods. This deployer is also a gbean and after registration it will be called for all jars that are deployed that have META-INF/geronimo-tuscany.xml files with a particular namespace. What this deployer does is create a configuration whose classloader contains all the classes in the jar, rig the second GBean and add it to the configuration so that an SCADomain is created. In case of J2EE modules I created a Deployment Watcher class which again adds the second gbean to the configuration of the j2ee module if it contains META-INF/geronimo-tuscany.xml So when the configuration starts the second gbean also starts which starts the SCADomain and registers it in Global JNDI. When the configuration stops the domain is closed and removed from JNDI. Since the runtime just provides services to the SCADomain that contains it, I just inject the ReallySmallRuntime I created earlier into the SCADomain. What I have done is created a new Domain class GeronimoSCADomain and the only difference of this from default SCA domain is that it takes a ReallySmallRuntime as a parameter instead of creating it. So effectively one Runtime can be shared among all the SCADomains. I am assuming that there will be a single SCADomain per application and all SCADomains will share the same Runtime. Due to my lack of tuscany knowledge I am not sure if this is the way to go about it. Can any one of the tuscany gurus clarify if this is the correct approach? The SCA domain is a collection of runtimes that can host SCA composites. The domain is logically represented as a SCA composite which include all the deployable composites activated by all runtimes in the SCA domain. A SCA domain can span multiple machines over the network. It consists of all the runtimes that run SCA applications. Ok, I was unaware that a domain can have multiple runtimes. But like the webapp sample which has a single runtime I am thinking that Geronimo will also have a single runtime only. ATleast initially that may be the way to go forward. Also from what i see of the code, the runtimes just provide services which the sca domain uses to set itself up. So its my assumption that a runtime that an SCADomain accesses doesn't need to be exclusive to it but can be shared among domains. Can you advise me if this assumtion is ok? I was unable to understand the need to create multiple runtimes for each sca domain (other than for the web app based integration). If there are any other reasons can someone please explain why we need a runtime per app? ? Other things that i am experimenting with is the ability to package the tuscany service along with an ear/war/ejb-jar. The SCA
Re: Tuscany sample app
Hi, I am new to this list and product. I just wanted to know if there is any work going on in implementing deep integration with apache geronimo app server. If it is going on I am volunteering to help. If not I would again like to volunteer to take up that task along with anyone else interested. Currently I have experimented a bit with deep integration and got the calculator service to deploy on geronimo.What I have achieved is the ability to deploy Tuscany services on geronimo packaged in a jar with a geronimo specific deployment descriptor. What I have done is created a new Domain class GeronimoSCADomain and the only difference of this from default SCA domain is that it takes a ReallySmallRuntime as a parameter instead of creating it. So effectively one Runtime can be shared among all the SCADomains. I am assuming that there will be a single SCADomain per application and all SCADomains will share the same Runtime. Due to my lack of tuscany knowledge I am not sure if this is the way to go about it. Can any one of the tuscany gurus clarify if this is the correct approach? I was unable to understand the need to create multiple runtimes for each sca domain (other than for the web app based integration). If there are any other reasons can someone please explain why we need a runtime per app? Other things that i am experimenting with is the ability to package the tuscany service along with an ear/war/ejb-jar. I am binding the SCADomains created to global jndi and so applications can access the domains from there and invoke services on them. Thinks that need to be done(not yet thought of how to implement are) 1) Make geronimo resources (Database pools,JMS resources, EJB references, Gbean references )available to Tuscany 2) Make Tuscany services accessible accross app servers 3) Other things i have missed :) It would be great if someone could advise me on the tuscany side of these matters. Thus I conclude my first post on the tuscany dev list :) Thanks Manu On 5/15/07, Luciano Resende [EMAIL PROTECTED] wrote: The suspicious code was identified on the Contribution Service, and Tuscany M2 does not have this service available, that would explain why there is no issues with M2. On 5/10/07, Manu George [EMAIL PROTECTED] wrote: Hi Jay, Cool, I have not yet tried the trunk of tuscany. I will try it out with your fix Regards Manu On 5/10/07, Jay D. McHugh [EMAIL PROTECTED] wrote: I changed my mind. I just went to look at M2 and -way- too much has changed since then. I don't think it would be worthwhile to try it just to see. Cool that it worked though. Jay Jay D. McHugh wrote: Hey Manu, The versions that had trouble were trunk of both. I'm surprised that M2 worked (I'll have to try it just to see). Jay Manu George wrote: Hi Jay, I was able to deploy the tuscany calculator webapp (M2 version) on the current geronimo trunk w/o any issues. Probably I was lucky in selecting my versions :). Which version of Geronimo and Tuscany were giving the problem? Regards Manu On 5/10/07, Luciano Resende [EMAIL PROTECTED] wrote: Hey Jay, this is very good news, thanks for your help. As for the issue you mentioned, this is done while the Tuscany is scaning and opening the necessary artifacts to process... let me look at that code in the Tuscany side and check what I can do. I'ĺl let you know about any progress... On 5/9/07, Jay D. McHugh [EMAIL PROTECTED] wrote: I didn't say, but in order to get the app to deploy in Geronimo I had to comment out the close() in IOHelper. Jay Jay D. McHugh wrote: Hello all. Well after wandering through class loaders and deployment managers, I finally managed to get the Tuscany calculator sample webapp to deploy and run under Geronimo. And, the problem that made it so hard wasn't even in Geronimo (at least not directly). Tuscany is using a helper class when scanning jar files during startup (IOHelper). That class closes the jar file at the same time as it closes the input stream based on the jar file (as recommended by Sun - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4950148). Tomcat doesn't mind having the jar file get closed - Geronimo does. Does anyone have any comments on this? Does anyone know if Tomcat is built to reopen closed jars? Can Tuscany be changed to stop closing the jar file? Comments? Jay . -- Luciano Resende http://people.apache.org/~lresende -- Luciano Resende http://people.apache.org/~lresende
Re: Tuscany sample app
Hi, Manu. Welcome to Tuscany and thank you for looking into Tuscany/Geronimo integration. Please see my comments inline below. Thanks, Raymond - Original Message - From: Manu George [EMAIL PROTECTED] To: tuscany-dev@ws.apache.org Sent: Tuesday, May 22, 2007 1:00 PM Subject: Re: Tuscany sample app Hi, I am new to this list and product. I just wanted to know if there is any work going on in implementing deep integration with apache geronimo app server. If it is going on I am volunteering to help. If not I would again like to volunteer to take up that task along with anyone else interested. It would be really great that we start the Tuscany/Geronimo integration now as we have a stable Tuscany code base (the 0.90 relase are being voted on). A few of other folks have also expressed their interests in this area. Let's keep all the discussions on this ML so that all of us can participate. I'm not sure what's the best way to Currently I have experimented a bit with deep integration and got the calculator service to deploy on geronimo.What I have achieved is the ability to deploy Tuscany services on geronimo packaged in a jar with a geronimo specific deployment descriptor. This is a very good step forward. Did you use the geronimo module plan for the jar? What I have done is created a new Domain class GeronimoSCADomain and the only difference of this from default SCA domain is that it takes a ReallySmallRuntime as a parameter instead of creating it. So effectively one Runtime can be shared among all the SCADomains. I am assuming that there will be a single SCADomain per application and all SCADomains will share the same Runtime. Due to my lack of tuscany knowledge I am not sure if this is the way to go about it. Can any one of the tuscany gurus clarify if this is the correct approach? The SCA domain is a collection of runtimes that can host SCA composites. The domain is logically represented as a SCA composite which include all the deployable composites activated by all runtimes in the SCA domain. A SCA domain can span multiple machines over the network. It consists of all the runtimes that run SCA applications. I was unable to understand the need to create multiple runtimes for each sca domain (other than for the web app based integration). If there are any other reasons can someone please explain why we need a runtime per app? Other things that i am experimenting with is the ability to package the tuscany service along with an ear/war/ejb-jar. The SCA spec defines a loosely-formed packaging scheme for SCA composites. Basically, it is the contribution concept. A contribution is some kind of archive such as a folder, a zip, a jar, a rpm, or a EAR. The only requirement is that the artifacts in the contribution can be represented as URIs in the hierarchy. In Tuscany, we have the Contribution service which provides a framework to plug in Package processors and Artifact processors. You can find more information here: http://cwiki.apache.org/confluence/display/TUSCANY/Java+SCA+Architecture+Guide I am binding the SCADomains created to global jndi and so applications can access the domains from there and invoke services on them. This is one way to manage the SCA domain metadata. Then the EE applications can look up the SCADomain from JNDI and then gain access to the SCA services. Thinks that need to be done(not yet thought of how to implement are) 1) Make geronimo resources (Database pools,JMS resources, EJB references, Gbean references )available to Tuscany In SCA, we can use reference and binding to access non-SCA services such as WS, EJB, JMS. This makes external services consumeable by SCA components. I'm not very sure how to expose other JEE resources such as DataSource, JMS QCF to SCA components. Maybe a reference with autowire? Maybe a @Resource annotation? 2) Make Tuscany services accessible accross app servers There is another important aspect. SCA component services can be promoted over various bindings. This way, the SCA service can be exposed over protocols such as Web Service, EJB, JSONRPC, RMI. Non-SCA client (such as JEE artifacts) can be then access the promoted SCA services over the protocols without knowing SCA. Of course, other SCA components can talk to these promoted services using the bindings too. 3) Other things i have missed :) It would be great if someone could advise me on the tuscany side of these matters. Thus I conclude my first post on the tuscany dev list :) Thanks Manu On 5/15/07, Luciano Resende [EMAIL PROTECTED] wrote: The suspicious code was identified on the Contribution Service, and Tuscany M2 does not have this service available, that would explain why there is no issues with M2. On 5/10/07, Manu George [EMAIL PROTECTED] wrote: Hi Jay, Cool, I have not yet tried the trunk of tuscany. I will try it out with your fix Regards Manu On 5/10/07, Jay D. McHugh [EMAIL
Re: Tuscany sample app
Hi Raymond, Thank you for the warm welcome and for the prompt response. I am adding my comments inline below. On 5/23/07, Raymond Feng [EMAIL PROTECTED] wrote: Hi, Manu. Welcome to Tuscany and thank you for looking into Tuscany/Geronimo integration. Please see my comments inline below. Thanks, Raymond - Original Message - From: Manu George [EMAIL PROTECTED] To: tuscany-dev@ws.apache.org Sent: Tuesday, May 22, 2007 1:00 PM Subject: Re: Tuscany sample app Hi, I am new to this list and product. I just wanted to know if there is any work going on in implementing deep integration with apache geronimo app server. If it is going on I am volunteering to help. If not I would again like to volunteer to take up that task along with anyone else interested. It would be really great that we start the Tuscany/Geronimo integration now as we have a stable Tuscany code base (the 0.90 relase are being voted on). A few of other folks have also expressed their interests in this area. Let's keep all the discussions on this ML so that all of us can participate. I'm not sure what's the best way to Sure thats the best way. Currently I have experimented a bit with deep integration and got the calculator service to deploy on geronimo.What I have achieved is the ability to deploy Tuscany services on geronimo packaged in a jar with a geronimo specific deployment descriptor. This is a very good step forward. Did you use the geronimo module plan for the jar? What I have done is I wrote 2 gbeans. One GBean takes care of rigging up and starting the ReallySmallRuntime that provided with Tuscany. The other GBean takes care of instantiating the GeronimoSCADomain class. The latter GBean should be run in the same class loader as the SCA application so that during the SCADomain creation the .composite files can be picked up. I then wrote a deployer that implements the ConfigurationBuilder interface of geronimo and implemented the methods. This deployer is also a gbean and after registration it will be called for all jars that are deployed that have META-INF/geronimo-tuscany.xml files with a particular namespace. What this deployer does is create a configuration whose classloader contains all the classes in the jar, rig the second GBean and add it to the configuration so that an SCADomain is created. In case of J2EE modules I created a Deployment Watcher class which again adds the second gbean to the configuration of the j2ee module if it contains META-INF/geronimo-tuscany.xml So when the configuration starts the second gbean also starts which starts the SCADomain and registers it in Global JNDI. When the configuration stops the domain is closed and removed from JNDI. Since the runtime just provides services to the SCADomain that contains it, I just inject the ReallySmallRuntime I created earlier into the SCADomain. What I have done is created a new Domain class GeronimoSCADomain and the only difference of this from default SCA domain is that it takes a ReallySmallRuntime as a parameter instead of creating it. So effectively one Runtime can be shared among all the SCADomains. I am assuming that there will be a single SCADomain per application and all SCADomains will share the same Runtime. Due to my lack of tuscany knowledge I am not sure if this is the way to go about it. Can any one of the tuscany gurus clarify if this is the correct approach? The SCA domain is a collection of runtimes that can host SCA composites. The domain is logically represented as a SCA composite which include all the deployable composites activated by all runtimes in the SCA domain. A SCA domain can span multiple machines over the network. It consists of all the runtimes that run SCA applications. Ok, I was unaware that a domain can have multiple runtimes. But like the webapp sample which has a single runtime I am thinking that Geronimo will also have a single runtime only. ATleast initially that may be the way to go forward. Also from what i see of the code, the runtimes just provide services which the sca domain uses to set itself up. So its my assumption that a runtime that an SCADomain accesses doesn't need to be exclusive to it but can be shared among domains. Can you advise me if this assumtion is ok? I was unable to understand the need to create multiple runtimes for each sca domain (other than for the web app based integration). If there are any other reasons can someone please explain why we need a runtime per app? ? Other things that i am experimenting with is the ability to package the tuscany service along with an ear/war/ejb-jar. The SCA spec defines a loosely-formed packaging scheme for SCA composites. Basically, it is the contribution concept. A contribution is some kind of archive such as a folder, a zip, a jar, a rpm, or a EAR. The only requirement is that the artifacts in the contribution can be represented as URIs in the hierarchy. Well I think we may not be able
Re: Tuscany sample app
On 5/17/07, Jacek Laskowski [EMAIL PROTECTED] wrote: [1] http://cwiki.apache.org/confluence/display/TUSCANY/Tuscany+SCA+Web+Application+Integration+Story Which one is correct? SCADomain domain = (SCADomain) application.getAttribute(org.apache.tuscany.sca.SCADomain); or SCADomain domain = (SCADomain) application.getAttribute(SCADomain); ? Both! Sorry for that part as I didn't notice that they presented different ways integrating Tuscany into web containers. Jacek -- Jacek Laskowski http://www.JacekLaskowski.pl - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tuscany sample app
On 5/17/07, Luciano Resende [EMAIL PROTECTED] wrote: Basically, if you have regular web-app integrated with Tuscany SCA (see [1] for web-app story), then you just need to deploy the web-app into geronimo and it works !!! Are you looking for any specific steps ? Or just a place that says we work with so and so web application server ? Please let me know, and if we don't have, I can try getting something started. I thought that there were specific steps but if it's just a mere webapp deployment then...well ...a wiki page on Tuscany or Geronimo wiki would still be of a great value ;-) I've been studying SCA and Tuscany reading the Tuscany wiki pages and even thought SCA was presented as a way to simplify developing composite modules and seems to be easy I must admit there's not much examples out there (or I couldn't find any). [1] http://cwiki.apache.org/confluence/display/TUSCANY/Tuscany+SCA+Web+Application+Integration+Story Which one is correct? SCADomain domain = (SCADomain) application.getAttribute(org.apache.tuscany.sca.SCADomain); or SCADomain domain = (SCADomain) application.getAttribute(SCADomain); ? Jacek -- Jacek Laskowski http://www.JacekLaskowski.pl - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tuscany sample app
On 5/17/07, Luciano Resende [EMAIL PROTECTED] wrote: I have fixed the issue in Tuscany revision #538785 just in time for our RC branch :) , and tested on Geronimo M5 (windows and linux), and the web application is working fine !!! Do you have notes of what steps are necessary to make it happen? A page at the Tuscany wiki would be a great bonus for Tuscany users. Jacek -- Jacek Laskowski http://www.JacekLaskowski.pl - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tuscany sample app
I finally got my geronimo dev environment up and was able to investigate/debug this issue. It turned out the problem was on Tuscany extensions point code, and not on the contribution service as I thought originally. I have fixed the issue in Tuscany revision #538785 just in time for our RC branch :) , and tested on Geronimo M5 (windows and linux), and the web application is working fine !!! Thanks for all your help. On 5/14/07, Luciano Resende [EMAIL PROTECTED] wrote: The suspicious code was identified on the Contribution Service, and Tuscany M2 does not have this service available, that would explain why there is no issues with M2. On 5/10/07, Manu George [EMAIL PROTECTED] wrote: Hi Jay, Cool, I have not yet tried the trunk of tuscany. I will try it out with your fix Regards Manu On 5/10/07, Jay D. McHugh [EMAIL PROTECTED] wrote: I changed my mind. I just went to look at M2 and -way- too much has changed since then. I don't think it would be worthwhile to try it just to see. Cool that it worked though. Jay Jay D. McHugh wrote: Hey Manu, The versions that had trouble were trunk of both. I'm surprised that M2 worked (I'll have to try it just to see). Jay Manu George wrote: Hi Jay, I was able to deploy the tuscany calculator webapp (M2 version) on the current geronimo trunk w/o any issues. Probably I was lucky in selecting my versions :). Which version of Geronimo and Tuscany were giving the problem? Regards Manu On 5/10/07, Luciano Resende [EMAIL PROTECTED] wrote: Hey Jay, this is very good news, thanks for your help. As for the issue you mentioned, this is done while the Tuscany is scaning and opening the necessary artifacts to process... let me look at that code in the Tuscany side and check what I can do. I'ĺl let you know about any progress... On 5/9/07, Jay D. McHugh [EMAIL PROTECTED] wrote: I didn't say, but in order to get the app to deploy in Geronimo I had to comment out the close() in IOHelper. Jay Jay D. McHugh wrote: Hello all. Well after wandering through class loaders and deployment managers, I finally managed to get the Tuscany calculator sample webapp to deploy and run under Geronimo. And, the problem that made it so hard wasn't even in Geronimo (at least not directly). Tuscany is using a helper class when scanning jar files during startup (IOHelper). That class closes the jar file at the same time as it closes the input stream based on the jar file (as recommended by Sun - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4950148). Tomcat doesn't mind having the jar file get closed - Geronimo does. Does anyone have any comments on this? Does anyone know if Tomcat is built to reopen closed jars? Can Tuscany be changed to stop closing the jar file? Comments? Jay . -- Luciano Resende http://people.apache.org/~lresendehttp://people.apache.org/%7Elresende -- Luciano Resende http://people.apache.org/~lresende http://people.apache.org/%7Elresende -- Luciano Resende http://people.apache.org/~lresende
Tuscany sample app
Hello all. Well after wandering through class loaders and deployment managers, I finally managed to get the Tuscany calculator sample webapp to deploy and run under Geronimo. And, the problem that made it so hard wasn't even in Geronimo (at least not directly). Tuscany is using a helper class when scanning jar files during startup (IOHelper). That class closes the jar file at the same time as it closes the input stream based on the jar file (as recommended by Sun - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4950148). Tomcat doesn't mind having the jar file get closed - Geronimo does. Does anyone have any comments on this? Does anyone know if Tomcat is built to reopen closed jars? Can Tuscany be changed to stop closing the jar file? Comments? Jay - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]