You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by tony ennis <to...@insightbb.com> on 2009/09/05 22:30:34 UTC

axis jar files in jetspeed

Continuing work on my portal app.  It's a proof-of-concept app.  The boss
wants a web service (any web service!) used within the portlet.  So I added
one and deployed my portlet to jetspeed. The portlet fails with an Axis
error.  axis.war is included in the webapps directory.

So in the portlet code I created a main() that invoked the web service then
printed the response to stdout.  I ran it from my IDE (intellij) without
using Jetspeed at all.  To my relief, it failed with the same error as it
did when it was installed as a portlet.

I have never been good at playing Find the Jarfile.  I added the entire
axis2/lib folder to my portlet project.  This time the main() successfully
invoked the web service.

So it's clear that the axis2 libs aren't accessible by Jetspeed even though
axis.war is there.  I don't want to include all the axis jars in my project. 
So, questions:

1: Have I placed the axis war in the wrong place?  It is at
$JETSPEED_ROOT/webapps/axis2.war
2. If not, is axis.war something different than a mash-up of the
axis2/lib/*.jar?
3. Am I supposed to dump the whole of axis2/lib into jetspeed somewhere?
(yeah unlikely) 

Thanks for any opinions.


-- 
View this message in context: http://www.nabble.com/axis-jar-files-in-jetspeed-tp25312074p25312074.html
Sent from the Jetspeed - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


Re: axis jar files in jetspeed

Posted by Ron Wheeler <rw...@artifact-software.com>.
Thanks for sharing the details of your approach.
I am tending toward multiple virtual and real machines with an Apache 
proxy in front of the whole set.
We currently only have 2 portals in production (on separate real 
hardware) with a 3rd in a very slow development process so you are way 
ahead of me in having to deal with the practical realities.

Ron

Ron McNulty wrote:
> Hi Ron
>
> Yes, there is always tension between sharing and not sharing libraries.
>
> I work in an environment supporting about 15 moderately large portal 
> apps on the same portal infrastructure. Originally we used a shared 
> library approach, but changed to a per-application structure. The 
> problem was that project X (a new product) would decide to use version 
> bazzillion of say Spring, and 10 older versions had only been tested 
> with version 1.0  The regression testing was getting onerous.
>
> I note you mention "each portlet". We normally group around 5 to 10 
> portlets into their own portlet application, so the size of the 
> resulting war is not a huge consideration.
>
> Best of luck whatever path you go down.
>
> Regards
>
> Ron
>
> ----- Original Message ----- From: "Ron Wheeler" 
> <rw...@artifact-software.com>
> To: "Jetspeed Users List" <je...@portals.apache.org>
> Sent: Wednesday, September 09, 2009 2:00 AM
> Subject: Re: axis jar files in jetspeed
>
>
>> We have wrestled with this a bit and finally decided that:
>> 1) We were only likely to run one application (Jetspeed Portal) in 
>> our Tomcat. If we need another servlet app with its own libraries, we 
>> will add a real or virtual machine with its own Tomcat (or other 
>> servlet container).
>> 2) We did not want to have different version of libraries in our 
>> different portlets.
>> 3) We did not want lots of huge portlet war files each mostly 
>> consisting of the same libraries.
>>
>> As a result, we opted for Ron's option 2. With Maven, we mark all of 
>> the shared libraries as "provided".
>>
>> This has helped a bit in keeping the team on the same set of library 
>> versions and has made the portlets a lot smaller.
>>
>> If we ever get a spare moment, will create a shared POM fragment that 
>> included all of the "official" shared libraries.
>> Apparently, this can be referenced by the individual portlet POMs so 
>> that we can be sure that everyone on the development team uses the 
>> "right" version in their testing.
>>
>> Option 1 is not a bad way to start but pretty soon it gets very bad 
>> as libraries get copied from one portal project to another and you 
>> start to accumulate unused libraries  in projects and you get 
>> different versions of libraries in different portlets.
>> It does not have to be like that but human beings under time pressure 
>> can succumb to the need to "just get it working".
>>
>> Ron
>>
>>
>>
>> tony ennis wrote:
>>> Thanks Ron.  I opted for your "it's only a POC" approach which 
>>> worked fine.
>>>
>>>
>>> Ron McNulty wrote:
>>>
>>>> Hi Tony
>>>>
>>>> The are two places you can put it:
>>>>
>>>> 1. In the WEB-INF/lib folder of your portlet application. Here it 
>>>> is personal to your web application, and different apps can use 
>>>> different versions.
>>>> 2. In the $JETSPEED_ROOT/lib directory. This adds it to Tomcat's 
>>>> shared libraries so it becomes available to all apps.
>>>>
>>>> For a POC, choice 1 sounds best. You should only need the axis 
>>>> run-time war(s).
>>>>
>>>> Regards
>>>>
>>>> Ron
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
>> For additional commands, e-mail: jetspeed-user-help@portals.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
> For additional commands, e-mail: jetspeed-user-help@portals.apache.org
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


Re: axis jar files in jetspeed

Posted by Ron McNulty <rm...@xtra.co.nz>.
Hi Ron

Yes, there is always tension between sharing and not sharing libraries.

I work in an environment supporting about 15 moderately large portal apps on 
the same portal infrastructure. Originally we used a shared library 
approach, but changed to a per-application structure. The problem was that 
project X (a new product) would decide to use version bazzillion of say 
Spring, and 10 older versions had only been tested with version 1.0  The 
regression testing was getting onerous.

I note you mention "each portlet". We normally group around 5 to 10 portlets 
into their own portlet application, so the size of the resulting war is not 
a huge consideration.

Best of luck whatever path you go down.

Regards

Ron

----- Original Message ----- 
From: "Ron Wheeler" <rw...@artifact-software.com>
To: "Jetspeed Users List" <je...@portals.apache.org>
Sent: Wednesday, September 09, 2009 2:00 AM
Subject: Re: axis jar files in jetspeed


> We have wrestled with this a bit and finally decided that:
> 1) We were only likely to run one application (Jetspeed Portal) in our 
> Tomcat. If we need another servlet app with its own libraries, we will add 
> a real or virtual machine with its own Tomcat (or other servlet 
> container).
> 2) We did not want to have different version of libraries in our different 
> portlets.
> 3) We did not want lots of huge portlet war files each mostly consisting 
> of the same libraries.
>
> As a result, we opted for Ron's option 2. With Maven, we mark all of the 
> shared libraries as "provided".
>
> This has helped a bit in keeping the team on the same set of library 
> versions and has made the portlets a lot smaller.
>
> If we ever get a spare moment, will create a shared POM fragment that 
> included all of the "official" shared libraries.
> Apparently, this can be referenced by the individual portlet POMs so that 
> we can be sure that everyone on the development team uses the "right" 
> version in their testing.
>
> Option 1 is not a bad way to start but pretty soon it gets very bad as 
> libraries get copied from one portal project to another and you start to 
> accumulate unused libraries  in projects and you get different versions of 
> libraries in different portlets.
> It does not have to be like that but human beings under time pressure can 
> succumb to the need to "just get it working".
>
> Ron
>
>
>
> tony ennis wrote:
>> Thanks Ron.  I opted for your "it's only a POC" approach which worked 
>> fine.
>>
>>
>> Ron McNulty wrote:
>>
>>> Hi Tony
>>>
>>> The are two places you can put it:
>>>
>>> 1. In the WEB-INF/lib folder of your portlet application. Here it is 
>>> personal to your web application, and different apps can use different 
>>> versions.
>>> 2. In the $JETSPEED_ROOT/lib directory. This adds it to Tomcat's shared 
>>> libraries so it becomes available to all apps.
>>>
>>> For a POC, choice 1 sounds best. You should only need the axis run-time 
>>> war(s).
>>>
>>> Regards
>>>
>>> Ron
>>>
>>>
>>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
> For additional commands, e-mail: jetspeed-user-help@portals.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


Re: axis jar files in jetspeed

Posted by Ron Wheeler <rw...@artifact-software.com>.
We have wrestled with this a bit and finally decided that:
1) We were only likely to run one application (Jetspeed Portal) in our 
Tomcat. If we need another servlet app with its own libraries, we will 
add a real or virtual machine with its own Tomcat (or other servlet 
container).
2) We did not want to have different version of libraries in our 
different portlets.
3) We did not want lots of huge portlet war files each mostly consisting 
of the same libraries.

As a result, we opted for Ron's option 2. With Maven, we mark all of the 
shared libraries as "provided".

This has helped a bit in keeping the team on the same set of library 
versions and has made the portlets a lot smaller.

If we ever get a spare moment, will create a shared POM fragment that 
included all of the "official" shared libraries.
Apparently, this can be referenced by the individual portlet POMs so 
that we can be sure that everyone on the development team uses the 
"right" version in their testing.

Option 1 is not a bad way to start but pretty soon it gets very bad as 
libraries get copied from one portal project to another and you start to 
accumulate unused libraries  in projects and you get different versions 
of libraries in different portlets.
It does not have to be like that but human beings under time pressure 
can succumb to the need to "just get it working".

Ron



tony ennis wrote:
> Thanks Ron.  I opted for your "it's only a POC" approach which worked fine.
>
>
> Ron McNulty wrote:
>   
>> Hi Tony
>>
>> The are two places you can put it:
>>
>> 1. In the WEB-INF/lib folder of your portlet application. Here it is 
>> personal to your web application, and different apps can use different 
>> versions.
>> 2. In the $JETSPEED_ROOT/lib directory. This adds it to Tomcat's shared 
>> libraries so it becomes available to all apps.
>>
>> For a POC, choice 1 sounds best. You should only need the axis run-time 
>> war(s).
>>
>> Regards
>>
>> Ron
>>
>>
>>     
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


Re: axis jar files in jetspeed

Posted by tony ennis <to...@insightbb.com>.
Thanks Ron.  I opted for your "it's only a POC" approach which worked fine.


Ron McNulty wrote:
> 
> Hi Tony
> 
> The are two places you can put it:
> 
> 1. In the WEB-INF/lib folder of your portlet application. Here it is 
> personal to your web application, and different apps can use different 
> versions.
> 2. In the $JETSPEED_ROOT/lib directory. This adds it to Tomcat's shared 
> libraries so it becomes available to all apps.
> 
> For a POC, choice 1 sounds best. You should only need the axis run-time 
> war(s).
> 
> Regards
> 
> Ron
> 
> 

-- 
View this message in context: http://www.nabble.com/axis-jar-files-in-jetspeed-tp25312074p25331249.html
Sent from the Jetspeed - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org


Re: axis jar files in jetspeed

Posted by Ron McNulty <rm...@xtra.co.nz>.
Hi Tony

The are two places you can put it:

1. In the WEB-INF/lib folder of your portlet application. Here it is 
personal to your web application, and different apps can use different 
versions.
2. In the $JETSPEED_ROOT/lib directory. This adds it to Tomcat's shared 
libraries so it becomes available to all apps.

For a POC, choice 1 sounds best. You should only need the axis run-time 
war(s).

Regards

Ron

----- Original Message ----- 
From: "tony ennis" <to...@insightbb.com>
To: <je...@portals.apache.org>
Sent: Sunday, September 06, 2009 8:30 AM
Subject: axis jar files in jetspeed


>
> Continuing work on my portal app.  It's a proof-of-concept app.  The boss
> wants a web service (any web service!) used within the portlet.  So I 
> added
> one and deployed my portlet to jetspeed. The portlet fails with an Axis
> error.  axis.war is included in the webapps directory.
>
> So in the portlet code I created a main() that invoked the web service 
> then
> printed the response to stdout.  I ran it from my IDE (intellij) without
> using Jetspeed at all.  To my relief, it failed with the same error as it
> did when it was installed as a portlet.
>
> I have never been good at playing Find the Jarfile.  I added the entire
> axis2/lib folder to my portlet project.  This time the main() successfully
> invoked the web service.
>
> So it's clear that the axis2 libs aren't accessible by Jetspeed even 
> though
> axis.war is there.  I don't want to include all the axis jars in my 
> project.
> So, questions:
>
> 1: Have I placed the axis war in the wrong place?  It is at
> $JETSPEED_ROOT/webapps/axis2.war
> 2. If not, is axis.war something different than a mash-up of the
> axis2/lib/*.jar?
> 3. Am I supposed to dump the whole of axis2/lib into jetspeed somewhere?
> (yeah unlikely)
>
> Thanks for any opinions.
>
>
> -- 
> View this message in context: 
> http://www.nabble.com/axis-jar-files-in-jetspeed-tp25312074p25312074.html
> Sent from the Jetspeed - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
> For additional commands, e-mail: jetspeed-user-help@portals.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org