dev@glassfish.java.net

Re: --contextroot

From: Hong Zhang <Hong.Zhang_at_Sun.COM>
Date: Fri, 06 Mar 2009 12:15:59 -0500

Hi, Vivek

> Right. Although I wonder why do you need --force=true if the context
> is different.
>
The --force=true option is not for the context root. It is a required
option for redeploying an application, so user would not accidentally
overwrite a deployed application.

> Related question, so if the app is deployed with --force=true, what is
> the expectation, the app is supposed to be available at these two
> different contexts, right?
>
No. It is just an option needed for redeployment.

- Hong

>
>>
>>
>>> there are couple of issues here:
>>>
>>> 1. 'asadmin deploy --contextroot foo runner' does not work.
>>> accessing the app gives 404
>>> 2. Directory deploy the same app with different contextroot does not
>>> work.
>>>
>>> For 1, I noticed that jruby container was simply taking the
>>> contextroot from the command parameters and using it. the
>>> contextroot here is 'foo' not '/foo' so as it turns out there was no
>>> check for such thing in jruby Deployer. So instead of '/foo' it was
>>> registering 'foo' context with grizzly.
>>>
>>> This should be simple to fix there. However I am wondering this is
>>> sort of common code. Should asadmin CLI not take care of such
>>> corrections rather than container fixing such invalid option values?
>>>
>>> if(contextRoot.charAt(0) != '/')
>>> contextRoot = "/" + contextRoot;
>>>
>>> For 2 I think uniqueness of deployed app is computed based on the
>>> app name and not on the app name + the context. Well, I could be
>>> wrong but this is something that is not in the jruby container's
>>> control. Error is thrown at a lower level. See
>>> http://pastie.org/409066.
>>>
>> Looking at the stack traces, seem you forgot to specify
>> "--force=true" for the redeployment.
>>
>> - Hong
>>
>>>
>>>
>>> Arun Gupta wrote:
>>>
>>>> Thanks Vince for providing the context!
>>>>
>>>> Yes, this is a Rails app, should've mentioned.
>>>>
>>>> The blog pointer provided by Vince shows exactly how to create that
>>>> app. Let me know if you need more information.
>>>>
>>>> -Arun
>>>>
>>>> vince kraemer wrote:
>>>>
>>>>> I think Arun forgot to mention that 'runner' is a Rails app that
>>>>> he is trying to directory deploy. I think you tested something
>>>>> that is different by two degrees of freedom... dir deploy vs.
>>>>> archived and Rails vs Java EE.
>>>>>
>>>>> See:
>>>>> http://blogs.sun.com/arungupta/entry/totd_71_jruby_and_glassfish
>>>>> for a bit more context...
>>>>>
>>>>> vbk
>>>>>
>>>>> Hong Zhang wrote:
>>>>>
>>>>>> Hi, Arun
>>>>>> I tried to deploy a simple web application with --contextroot
>>>>>> option and it worked as expected for me.
>>>>>>
>>>>>> hzhang_at_nmr:~/files/sun/glassfish/bin$ ./asadmin deploy
>>>>>> --contextroot foo ~/deployment/apps/hello1.war
>>>>>> Command deploy executed successfully.
>>>>>>
>>>>>> I was able to access the application under localhost:8080/foo
>>>>>>
>>>>>> hzhang_at_nmr:~/files/sun/glassfish/bin$ ./asadmin deploy
>>>>>> --force=true --contextroot bar ~/deployment/apps/hello1.war
>>>>>> Command deploy executed successfully.
>>>>>>
>>>>>> I was able to access the application under localhost:8080/bar.
>>>>>>
>>>>>> You can send me your application for me to try..
>>>>>>
>>>>>> - Hong
>>>>>>
>>>>>>
>>>>>> Arun Gupta wrote:
>>>>>>
>>>>>>> Two questions on --contextroot ...
>>>>>>>
>>>>>>> 1). On a fresh b39, I tried:
>>>>>>>
>>>>>>> -- cut here --
>>>>>>> >~/tools/glassfish/v3/b39/glassfishv3/bin/asadmin deploy
>>>>>>> --contextroot runlog --force=true runner
>>>>>>>
>>>>>>> Command deploy executed successfully.
>>>>>>> -- cut here --
>>>>>>>
>>>>>>> Here http://localhost:8080/runlog gives 404 and
>>>>>>> http://localhost:8080/runner shows the expected page.
>>>>>>>
>>>>>>> Is --contextroot switch expected to work ?
>>>>>>>
>>>>>>> 2). On another fresh instance I tried:
>>>>>>>
>>>>>>> -- cut here --
>>>>>>> >~/tools/glassfish/v3/b39/glassfishv3/bin/asadmin deploy runner
>>>>>>> Command deploy executed successfully.
>>>>>>>
>>>>>>> >~/tools/glassfish/v3/b39/glassfishv3/bin/asadmin deploy
>>>>>>> --contextroot runlog --force=true runner
>>>>>>>
>>>>>>> Command deploy executed successfully.
>>>>>>> -- cut here --
>>>>>>>
>>>>>>> But accessing http://localhost:8080/runner and
>>>>>>> http://localhost:8080/runlog both give 404.
>>>>>>>
>>>>>>> Why so ?
>>>>>>>
>>>>>>> -Arun
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>>
>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>