Я хочу использовать несколько сервисов на одном транспорте (Thrift)

Я хотел бы создать несколько сервисов, и я хочу использовать их с разными идентификаторами. Я имею в виду:

У меня есть служба «Пользователи и проекты». Я хочу использовать их одновременно.

Я имею в виду, что могу добавить больше «сервисов» в «карту обработчиков» на xmlrpc.

http://ws.apache.org/xmlrpc/server.html

phm.addHandler("Users",
             Users.class); 
phm.addHandler("Projects",
               Projects.class);

Я хотел бы сделать то же самое в секьюрити.

Вот простой пример: test.thrift

typedef i64 UserId

struct Bonk
{
  1: string message,
  2: i32 type
}

struct Insanity
{
  1: map userMap,
  2: list xtructs
}



service ThriftTest
{
  void         testVoid(),
  string       testString(1: string test),
  byte         testByte(1: byte test),
  i32          testI32(1: i32 test),
  i64          testI64(1: i64 test),
  double       testDouble(1: double test),
  list> testMap(1: map test),
  map testStringMap(1: map test),
  set     testSet(1: set test),
  map> testMapMap(1: i32 test),
  map> testInsanity(1: Insanity argument)
}

Затем я создаю реализацию, затем добавляю ее к экземпляру TServer.

Users.Processor users_proccesor = new Users.Processor(New UsersImpl());
Projects.Processor project_processor = new Projects.Processors(new ProjectsImp());
// I would like to add Users and Projects  
ThriftTest.Processor prc = new ThriftTest.Processor(new ThiftTestImp());
            TServerTransport serverTransport = new TServerSocket(9090);
            TServer server = new TSimpleServer(new Args(serverTransport).processor( prc ));

И вот моя большая проблема, я не могу добавить несколько экземпляров сервера.

Спасибо за вашу помощь в заранее.

7
задан kmmrtkq 1 August 2011 в 23:56
поделиться