Heck, I think this is one cut above a hack? ;-) Jack
On Wed, 26 Jan 2005 07:21:52 -0800 (PST), Martin Wegner <[EMAIL PROTECTED]> wrote: > Frank, > > Yeah, that was the one hack that came to mind yesterday. It would > definitely work. If there is no alternative that is what I will have to > do. But I am hoping that the Struts gurus have a better answer in their > pocket. > > Thanks. > > --Marty > > --- [EMAIL PROTECTED] wrote: > > > Just thinking out loud here, but... > > > > What if from your plug-in you spawn a thread that will: > > > > (1) Wait a few second, to allow the app to otherwise initialize > > completely > > (2) Make a request to a special Action that will do the rest of the > > initialization that requires the URL (should be able to do > > http://localhost/myapp) > > (3) Die > > > > I do something similar for database initialization... I spaw a thread > > from the plug-in, wait a few seconds, then make a call to my database > > connection manager class, which has the effect of creating the > > connection pool. This way I know it's done before the first request > > comes in. Similar kind of idea. > > > > -- > > Frank W. Zammetti > > Founder and Chief Software Architect > > Omnytex Technologies > > http://www.omnytex.com > > > > On Wed, January 26, 2005 10:12 am, Martin Wegner said: > > > David, > > > > > > My Struts app contains an Axis-based SOAP service. The Struts app > > > initializes the call dispatcher for the SOAP service. This dispatcher > > > needs to know the URL of itself. This is a requirement of the > > semantics > > > of the SOAP service (outside of my control). So a Listener or a Plug > > In > > > appear to be the only way to try to determine the URL before the SOAP > > > service is open for business. > > > > > > Thanks. > > > > > > > > > --Marty > > > > > > --- David Suarez <[EMAIL PROTECTED]> wrote: > > > > > >> Is your plug-in a 3rd party type component? What is the purpose of > > >> obtaining the URL? Maybe there's a suitable alternative depending on > > >> your requirements (ie. A Filter that would instantiate the objects > > you > > >> need to populate on the first request? A base action that lazy loads > > >> your config stuff?) > > >> > > >> Just a thought...djsuarez > > >> > > >> -----Original Message----- > > >> From: Martin Wegner [mailto:[EMAIL PROTECTED] > > >> Sent: Wednesday, January 26, 2005 12:18 AM > > >> To: Struts Users Mailing List; Dakota Jack > > >> Subject: Re: PlugIn and the base URL > > >> > > >> > > >> I am looking for the: > > >> > > >> http://blahblahblah.com:8080/AppName/ > > >> > > >> As Craig said I can get that if I have a Request object. But from a > > >> PlugIn I don't have that. I can think of some ugly hacks but nothing > > >> clean. > > >> > > >> > > >> --Marty > > >> > > >> --- Dakota Jack <[EMAIL PROTECTED]> wrote: > > >> > > >> > Do you want the URL or the Internet Protocol address? I have some > > >> > ideas on the latter. > > >> > > > >> > Jack > > >> > > > >> > > > >> > On Tue, 25 Jan 2005 21:05:30 -0800 (PST), Martin Wegner > > >> > <[EMAIL PROTECTED]> wrote: > > >> > > Jack, > > >> > > > > >> > > That tells me where the JAR files are stored which is cool. But > > >> what > > >> > I am > > >> > > looking for a valid URL (of which there may be many) to access my > > >> > given > > >> > > web application. This info has to come from the container which > > may > > >> > be > > >> > > the problem. I don't see anything in the container standard > > which > > >> > > provides this info. > > >> > > > > >> > > Any other ideas? > > >> > > > > >> > > --Marty > > >> > > > > >> > > --- Dakota Jack <[EMAIL PROTECTED]> wrote: > > >> > > > > >> > > > Not sure what you want. Does this help? > > >> > > > > > >> > > > package whatever; > > >> > > > > > >> > > > import java.io.File; > > >> > > > import java.net.URL; > > >> > > > > > >> > > > public final class Classpath { > > >> > > > public static final String SLASH = File.separator; > > >> > > > public static final String HERE = > > >> > > > Classpath.class.getClassLoader().getResource("whatever" + SLASH > > + > > >> > > > > > >> > > > "Classpath.class").getFile(); > > >> > > > } > > >> > > > > > >> > > > > > >> > > > On Tue, 25 Jan 2005 19:25:21 -0800 (PST), Martin Wegner > > >> > > > <[EMAIL PROTECTED]> wrote: > > >> > > > > > > >> > > > > As far as I can tell the attributes offer no insight. I have > > >> yet > > >> > to > > >> > > > find > > >> > > > > a way to get to the container from within a PlugIn. But I > > will > > >> > keep > > >> > > > > looking. Using an initParam is not an option in this > > >> application. > > >> > > > > > > >> > > > > --Marty > > >> > > > > > > >> > > > > --- "Frank W. Zammetti" <[EMAIL PROTECTED]> wrote: > > >> > > > > > > >> > > > > > The OP was looking for a way to construct the entire path. > > I > > >> > too > > >> > > > got as > > >> > > > > > > > >> > > > > > far as ServletContext, but I'm not sure what in it would > > give > > >> > you > > >> > > > that, > > >> > > > > > or even all the pieces to constuct it... Maybe > > getAttribute()? > > >> > > >> > I'm > > >> > > > not > > >> > > > > > sure what it will return, although you can use > > >> > getAttributeNames() > > >> > > > to > > >> > > > > > see. The Javadocs indicates the attributes are > > >> > container-specific > > >> > > > > > though, so I'm not sure he'd want to use that anyway. > > >> > > > > > > > >> > > > > > This is just a matter of curiosity for me at this point, I > > >> long > > >> > ago > > >> > > > > > solved this problem another way. I'd like to know how to > > do > > >> it > > >> > > > though. > > >> > > > > > > > >> > > > > > -- > > >> > > > > > Frank W. Zammetti > > >> > > > > > Founder and Chief Software Architect > > >> > > > > > Omnytex Technologies > > >> > > > > > http://www.omnytex.com > > >> > > > > > > > >> > > > > > > > >> > > > > > Jim Barrows wrote: > > >> > > > > > > On Tue, 25 Jan 2005 18:37:29 -0500, Frank W. Zammetti > > >> > > > > > > <[EMAIL PROTECTED]> wrote: > > >> > > > > > > > > >> > > > > > >>I seem to remember trying to solve this problem myself > > and > > >> > coming > > >> > > > to > > >> > > > > > the > > >> > > > > > >>conclusion that there was no way to do it independent of > > a > > >> > > > request. I > > >> > > > > > >>wound up just sticking it in my application config file > > that > > >> > gets > > >> > > > read > > >> > > > > > >>in the plugin anyway. Can anyone prove me wrong? :) > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > Your looking for the application context correct? > > >> > > > > > > In the init you are passed the ActionServlet, which > > inherits > > >> > from > > >> > > > > > > HttpServlet, which will give you the ServletContext. > > IIRC > > >> you > > >> > can > > >> > > > get > > >> > > > > > > the context from there. > > >> > > > > > > > > >> > > > > > > > > >> > > > > > >>-- > > >> > > > > > >>Frank W. Zammetti > > >> > > > > > >>Founder and Chief Software Architect > > >> > > > > > >>Omnytex Technologies > > >> > > > > > >>http://www.omnytex.com > > >> > > > > > >> > > >> > > > > > >>Martin Wegner wrote: > > >> > > > > > >> > > >> > > > > > >>>In have a Struts PlugIn that needs to determine the URL > > for > > >> > the > > >> > > > > > containing > > >> > > > > > >>>web application (http://localhost:8080/BlahBlahBlah/). > > I > > >> am > > >> > > > unable > > >> > > > > > to > > >> > > > > > >>>find a way to determine this information. Any ideas? > > >> > > > > > >>> > > >> > > > > > >>>Thanks. > > >> > > > > > >>> > > >> > > > > > >>> > > >> > > > > > >>>--Marty > > >> > > > > > >>> > > >> > > > > > >>> > > >> > > > > > > > >> > > > > > >> > > > >> > > >>>--------------------------------------------------------------------- > > >> > > > > > >>>To unsubscribe, e-mail: > > [EMAIL PROTECTED] > > >> > > > > > >>>For additional commands, e-mail: > > >> [EMAIL PROTECTED] > > >> > > > > > >>> > > >> > > > > > >>> > > >> > > > > > >>> > > >> > > > > > >>> > > >> > > > > > >>>. > > >> > > > > > >>> > > >> > > > > > >> > > >> > > > > > > > >> > > > > > >> > > > >> > > >>--------------------------------------------------------------------- > > >> > > > > > >>To unsubscribe, e-mail: > > [EMAIL PROTECTED] > > >> > > > > > >>For additional commands, e-mail: > > [EMAIL PROTECTED] > > >> > > > > > >> > > >> > > > > > >> > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > -- > > >> > > > > > Frank W. Zammetti > > >> > > > > > Founder and Chief Software Architect > > >> > > > > > Omnytex Technologies > > >> > > > > > http://www.omnytex.com > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > >> > > > --------------------------------------------------------------------- > > >> > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > >> > > > > > For additional commands, e-mail: > > [EMAIL PROTECTED] > > >> > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > > >> > > > --------------------------------------------------------------------- > > >> > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > >> > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > > >> > > > -- > > >> > > > ------------------------------ > > >> > > > > > >> > > > "You can lead a horse to water but you cannot make it float on > > its > > >> > > > back." > > >> > > > > > >> > > > ~Dakota Jack~ > > >> > > > > > >> > > > "You can't wake a person who is pretending to be asleep." > > >> > > > > > >> > > > ~Native Proverb~ > > >> > > > > > >> > > > "Each man is good in His sight. It is not necessary for eagles > > to > > >> be > > >> > > > crows." > > >> > > > > > >> > > > ~Hunkesni (Sitting Bull), Hunkpapa Sioux~ > > >> > > > > > >> > > > ----------------------------------------------- > > >> > > > > > >> > > > "This message may contain confidential and/or privileged > > >> > information. > > >> > > > If you are not the addressee or authorized to receive this for > > the > > >> > > > addressee, you must not use, copy, disclose, or take any action > > >> > based > > >> > > > on this message or any information herein. If you have received > > >> this > > >> > > > message in error, please advise the sender immediately by reply > > >> > e-mail > > >> > > > and delete this message. Thank you for your cooperation." > > >> > > > > > >> > > > > > >> > > > --------------------------------------------------------------------- > > >> > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > >> > > > For additional commands, e-mail: [EMAIL PROTECTED] > > >> > > > > > >> > > > > > >> > > > > >> > > > > >> --------------------------------------------------------------------- > > >> > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > >> > > For additional commands, e-mail: [EMAIL PROTECTED] > > >> > > > > >> > > > > >> > > > >> > > > >> > -- > > >> > ------------------------------ > > >> > > > >> > "You can lead a horse to water but you cannot make it float on its > > >> > back." > > >> > > > >> > ~Dakota Jack~ > > >> > > > >> > "You can't wake a person who is pretending to be asleep." > > >> > > > >> > ~Native Proverb~ > > >> > > > >> > "Each man is good in His sight. It is not necessary for eagles to > > be > > >> > crows." > > >> > > > >> > ~Hunkesni (Sitting Bull), Hunkpapa Sioux~ > > >> > > > >> > ----------------------------------------------- > > >> > > > >> > "This message may contain confidential and/or privileged > > information. > > >> > If you are not the addressee or authorized to receive this for the > > >> > addressee, you must not use, copy, disclose, or take any action > > based > > >> > on this message or any information herein. If you have received > > this > > >> > message in error, please advise the sender immediately by reply > > e-mail > > >> > and delete this message. Thank you for your cooperation." > > >> > > > >> > > > --------------------------------------------------------------------- > > >> > To unsubscribe, e-mail: [EMAIL PROTECTED] > > >> > For additional commands, e-mail: [EMAIL PROTECTED] > > >> > > > >> > > > >> > > >> > > >> > > >> > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- ------------------------------ "You can lead a horse to water but you cannot make it float on its back." ~Dakota Jack~ "You can't wake a person who is pretending to be asleep." ~Native Proverb~ "Each man is good in His sight. It is not necessary for eagles to be crows." ~Hunkesni (Sitting Bull), Hunkpapa Sioux~ ----------------------------------------------- "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation." --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]