Hello Jean-Christophe,

I think you should use the other VirtualHost constructor, that is to say 
the one with the parent context:
VirtualHost host = new VirtualHost(component.getContext());

best regards,
Thierry Boileau

> Hi,
>
> I have a problem with virtualHost.
>
> The following code works :
>
>     public static void main(String[] args) {
>         try {
>
>             final ConfigFile conf = new ConfigFile();
>
>
>             // Create a new Component.
>             Component component = new Component();
>
>             // Add a new HTTP server listening on port 8182.
>             component.getServers().add(Protocol.HTTP, conf.getPort());
>             component.getClients().add(Protocol.FILE);
>
>             Application application = new Application() {
>
>                 @Override
>                 public Restlet createRoot() {
>                     Directory directory = new Directory(getContext(), 
> conf.getRoot_uri());
>                     directory.setListingAllowed(true);
>                     directory.setModifiable(false);
>                     directory.setDeeplyAccessible(true);
>                     return directory;
>                 }
>             };
>
>             // Attach the application.
>             component.getDefaultHost().attach(application);
>
>             // Start the component.
>             component.start();
>         } catch (Exception e) {
>             // Something is wrong.
>             e.printStackTrace();
>         }
>     }
>
>
>
> but the following code does not work :
>
>
>     public static void main(String[] args) {
>         try {
>
>             final ConfigFile conf = new ConfigFile();
>
>
>             // Create a new Component.
>             Component component = new Component();
>
>             // Add a new HTTP server listening on port 8182.
>             component.getServers().add(Protocol.HTTP, conf.getPort());
>             component.getClients().add(Protocol.FILE);
>
>             Application application = new Application() {
>
>                 @Override
>                 public Restlet createRoot() {
>                     Directory directory = new Directory(getContext(), 
> conf.getRoot_uri());
>                     directory.setListingAllowed(true);
>                     directory.setModifiable(false);
>                     directory.setDeeplyAccessible(true);
>                     return directory;
>                 }
>             };
>
>             // Attach the application.
>             VirtualHost host = new VirtualHost();
>             host.setHostDomain(conf.getHostname());
>             host.setHostPort(String.valueOf(conf.getPort()));
>             host.attach(application);
>
>             // Attach the host to the component.
>             component.getHosts().add(host); //host = localhost|<my IP>
>             component.updateHosts();
>
>             // Start the component.
>             component.start();
>         } catch (Exception e) {
>             // Something is wrong.
>             e.printStackTrace();
>         }
>     }
>
> I do not understand why the second code does not work. Anyone can 
> explain me please ?
>
> Thanks,
> J-Christophe

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2428794

Reply via email to