Aki, Use of TCCL is not preferred IMO. I suggest you open a JIRA with suggestion to fix it.
Ramesh.. ----- Original Message ----- > My question comes from the osgi-bundlization of olingo4. > > If server-api and server-core are always paired, we could avoid TCCL > (that means, make no change) but just create one bundle containing > both parts. Maybe this is preferred? In that case, we create two > classic jars and one bundle jar that contains both. > > regards, aki > > > > 2015-04-27 14:22 GMT+02:00 Aki Yoshida <[email protected]>: > > Hi, > > have a question about the way how an OData instance is instantiated > > using the current API. > > > > Currently, the OData.newInstance() method of server-api tries to load > > ODataImpl of server-core using its classloader. For this to work, > > server-api needs a dependency to server-core and since server-core has > > dependency to server-api, there will be a cyclic dependency. > > > > One way to avoid this would be to use TCCL first to load the class if > > this is set, which is a normal jee approach. In this way, all jee apps > > will work and modular apps like OSGi will then need to explicitly > > assign its bundle classloader to its TCCL. But in any case, they will > > both work in this case without creating a cyclic dependency between > > server-api and server-core. > > > > Another approach would be to change this interface so that you can > > pass the impl name along with its classloader to load this class. > > > > I am wondering if something of this kind of customization is planned. > > In other case, I think it would be a good idea to add the TCCL based > > classloading in newInstance() method, as this requires no practical > > change. > > > > How do you think? > > > > Thanks. > > regards, aki >
