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|
> 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