Generated services Iface/Client inner classes do not derive from base classes -----------------------------------------------------------------------------
Key: THRIFT-746 URL: https://issues.apache.org/jira/browse/THRIFT-746 Project: Thrift Issue Type: Improvement Components: Compiler (Java) Affects Versions: 0.2 Environment: All Reporter: Mathias Herberts When defining a service in Thrift, the generated code looks like public class Service { public interface Iface { ... } public static class Client { ... } } This makes it quite hard to create generic classes which accept any kind of Client or Iface as a parameter. One such use case is the pooling of Client objects. One way to circumvent this is to create a top level thrift service and have all other services extend it, but then there will be no coherency across the thrift community. What about introducing a TService class: public class TService { public interface Iface {} public static class Client { public Client(TProtocol prot) { this(prot,prot); } public Client(TProtocol iprot, TProtocol oprot) {} } } and have generated services inherit from it: public class Service { public interface Iface extends TService.Iface { } public static class Client extends TService.Client { } } As a bonus I'll contribute the pooling mechanism I've created for Bibale (based on GenericObjectPool). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.