Hi,
    My main project was to develop a load balancing cache manager that can be 
registered to a master web service for load balancing.
     It is working fine when the master is just responding to one task 
application "cache", but then we tried to attach another application to the 
master and this is the problem. 
     
////////////////////////////////////////////////////////////////////////////////
Main
////////////////////////////////////////////////////////////////////////////////

public static void main(String[] args) throws Exception{
  Component component=new Component();
  component.getServers().add( Protocol.HTTP, 8182 ); // Private
  component.getServers().add( Protocol.HTTP, 8183); // Public
                
  //Add a new HTTP client
  component.getClients().add( Protocol.HTTP );
                
  InetAddress inet = InetAddress.getLocalHost();
  String cannonicalHostName = inet.getCanonicalHostName();
                
 /**
  *  Create virtual Host for Private use
  *  like registering slaves
  */
  VirtualHost privateHost = new VirtualHost(component.getContext());
  privateHost.setHostDomain(cannonicalHostName);
  privateHost.setHostPort("8182");
                
  VirtualHost proxyHost = new VirtualHost(component.getContext());
  proxyHost.setHostDomain(cannonicalHostName);
  proxyHost.setHostPort("8183");
  proxyHost.setRoutingMode(Router.MODE_NEXT_MATCH);
  /**
   * cache application
   *  internal routing
   *    /webservice/PEITCache
   */ 
  proxyHost.attach(new PEDWProxy("http://rbaa0282562.apr.dhcp.ti.com:50011";));
  proxyHost.attach(new PEDWProxy("http://rbaa0282562.apr.dhcp.ti.com:50012";));

  /**
   * foreign application
   *  internal routing
   *   /webservice/foreign
   */ 
  proxyHost.attach(new 
PEDWProxy("http://peitlab01.dallab.design.ti.com:30090";));

  
  component.getHosts().add(privateHost);
  component.getHosts().add(proxyHost);
                
  //proxyHost.setRoutingMode(Router.MODE_CUSTOM);
  component.start();            
}

////////////////////////////////////////////////////////////////////////
public class PEDWProxy extends Application
{
  public String hostAddress = "";
  
  public PEDWProxy(String hostAddress) {
    super();
    this.hostAddress = hostAddress;
  }
  /**
   * Creates a root Restlet that will receive all incoming calls.
   */
  @Override
  public Restlet createInboundRoot() {
    // Create a root router  
    Router router = new Router(getContext());
                
    String target = hostAddress + "{rr}";
        
    Redirector redirector = new Redirector(getContext(), target,  
Redirector.MODE_SERVER_OUTBOUND);
                
    // Attach the extractor to the router  
    router.attachDefault(redirector);
                
    return router;
  }
}
////////////////////////////////////////////////////////////////////////
First Problem:
Scenario
First Request: http://localhost:8183/webservice/PEITCache 
  --> response ok, redirected to http://rbaa0282562.apr.dhcp.ti.com:50011

Second Request: http://localhost:8183/webservice/PEITCache 
 --> response ok, http://rbaa0282562.apr.dhcp.ti.com:50012

Third Request:  http://localhost:8183/webservice/PEITCache 
   --> response bad, tried to redirect to 
http://peitlab01.dallab.design.ti.com:30090, in which i'm expecting that the 
request will be redirected to the redirected to 
http://rbaa0282562.apr.dhcp.ti.com:50011 or redirected to 
http://rbaa0282562.apr.dhcp.ti.com:50012


////////////////////////////////////////////////////////////////////////
Second Problem:
Scenario:
       I shutdown the web service in http://rbaa0282562.apr.dhcp.ti.com:50012
First Request: http://localhost:8183/webservice/PEITCache 
  --> response ok, redirected to http://rbaa0282562.apr.dhcp.ti.com:50011
Second Request: http://localhost:8183/webservice/PEITCache
  --> it waits indefinitely for the response coming from 
http://rbaa0282562.apr.dhcp.ti.com:50012 which was at shutdown state, how can I 
resolve this problem...

       Thanks

Sincerely,
Gerald Ternola

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

Reply via email to