You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Stephen McConnell <mc...@apache.org> on 2004/01/12 17:57:33 UTC

Re: Merlin 3.2.5 --Trying to use http proxy for downloading repositor y...( Behind the firewall)

Surendra.Kashyap@gxs.com wrote:

> Hello,
> 
> In Merlin 3.2.5, I have proxy information ( to download the repository jars)
> defined in the "avalon.properties" file. There is a copy of this file in
> AVALON_HOME directory, and the file looks like below:
> 
> avalon.repository.cache=E:\download\maven\repository
> avalon.repository.hosts=http://www.ibiblio.org/maven,
> http://www.ibiblio.org/merlin,http://phoenixjms.sourceforge.net/repository/,
> http://surendrapc.internal.gxs.com/download/maven/repository/,http://bennett
> pc.internal.gxs.com:8080/repository
> avalon.repository.proxy.host=ghqproxy1.is.ge.com
> avalon.repository.proxy.port=80

Some points to take into consideration concerning the repository 
bootstrap process ...

   1. repository has a micro bootstrap repository impl without
      proxy support - this repository is defined by
      avalon.repository.cache and avalon.repository.hosts

The important thing to remember here is that cache and hosts are 
specific to the loading of the resources needed to establish the full 
repository implementation.  Within Merlin, the system uses this 
bootstrapping cache to locate the merlin system resources.  Normally 
these resources are locally available and as such you don't need to 
declare a hosts property.  Alternatively you can declare a host using a 
file url.

   2. the repository bootstrapper loads the full repository
      implementation as assigns this to the initial context supplied
      to any factory (e.g. the merlin bootstrapping system)

   3. merlin creates a second application repository using the
      <repository> tag contained in the kernel.xml file. This
      repository implementation will be configured in accordance
      with the proxy setting declared within the <repository>
      element

   4. however, the JVM uses system properties to configure proxy
      settings - so setting the initial repository proxy settings
      together with proxy setting in the kernel is potentially
      problematic

I would recommend setting avalon.repository.hosts to nothing, and remove 
the proxy setting in the property file.

E.g.:

   avalon.repository.hosts =

The declare any proxy setting at the level of the kernel.

> I am running the application behind the firewall hence I must go through
> proxy to download some jars. I can access repository sites via browser (
> means proxy server is working) fine. I am afraid somehow, merlin is not
> picking up the proxy information from the "avalon.properties" file. In the
> 3.0 version of merlin, I used to specify the "proxy" information in
> "kernel.xml" and it used to work fine but apparently that has changed and
> now proxy information needs to stored in the "avalon.properties" file.


Yep.

We moved the repository system from an internal facility to an external 
facility that loads merlin.

> Here is what I see when I Merlin command ( to me it appears like proxy
> related error":
>

<snip>

> 
> Am I missing something, Is "avalon.properties" file not being picked up or
> is there any syntax error?

Make sure you use the -info command line switch and check the following:

   ${avalon.repository.cache} <------ the local bootstrap cache
   ${avalon.repository.hosts} <------ the bootstrap hosts

Here is an example of running the hello remotely with the hosts disabled 
on the bootstrap phase:

   [INFO   ] (kernel): Merlin Kernel Environment Listing

   ${user.dir} == D:\dev\3.4\avalon\merlin\platform\tutorials\hello
   ${user.home} == C:\WINNT\Profiles\mcconnell
   ${avalon.repository.cache} == D:\merlin\system
   ${avalon.repository.hosts} ==
   ${merlin.repository} == C:\WINNT\Profiles\mcconnell\.avalon\repository

And at the end of the listing we see:

   ${merlin.deployment} == 
http://dpml.net/merlin/tutorial/blocks/hello.block

This works because the kernel is configuration with the remote 
repository which are assigned to the application repository.

Hope this helps.

Stephen.


> Any help would be highly appreciated. 
> 
> Surendra
> 
> 
> --
> Surendra Kashyap
> Application Component Engineering
> Global Exchange Services, Inc.
> 7101, Executive Center Drive
> Brentwood, TN - 37027
> 
> 


-- 

|------------------------------------------------|
| Magic by Merlin                                |
| Production by Avalon                           |
|                                                |
| http://avalon.apache.org/merlin                |
| http://dpml.net/merlin/distributions/latest    |
|------------------------------------------------|

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org