| Summary: | Remove dependency from communication.core -> hessian | ||
|---|---|---|---|
| Product: | [RT] Riena | Reporter: | Patrick He <platinas.hy> |
| Component: | communication | Assignee: | Project Inbox <riena.core-inbox> |
| Status: | NEW --- | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | christian.campo |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
|
Description
Patrick He
Its no as easy as it seems. o.e.r.communication.core also has a statement Eclipse-RegisterBuddy: com.caucho.hessian Now registering a Buddy only works if you have a dependency. The reason we put that into the core package is that now model objects or anything that needs to be transferred over the wire can register a dependency to the core package and thats it. publisher.hessian and factory.hessian have a dependency to core PLUS they also register a Buddy at core. removing the dependency of core to hessian means publisher.hessian and factory.hessian need a dependency on the hessian bundly PLUS the register as buddy. (thats ok) it also means that any data objects that needs to go over the wire (that is not from the JDK itself) needs to register a dependency on publisher.hessian and factory.hessian plus they need to register as buddy for each of them. Not so nice. Thats why we choose the current construct. (In reply to comment #1) Thanks for the explanation. Christian. In that case, can we try to use Eclipse-BuddyPolicy: global for the bundles that needs to load classes from other bundles? Or, shall we make this dependency to Hessian optional? so that when there is no Hessian this bundle still can be started. I think that the way Riena design to separate service publish and protocol invoke is very good and is designed to be extendable to other protocols. I am also happy to share the code when the json protocol for Riena service is implemented and stable. > Its no as easy as it seems. o.e.r.communication.core also has a statement > Eclipse-RegisterBuddy: com.caucho.hessian > > Now registering a Buddy only works if you have a dependency. The reason we put > that into the core package is that now model objects or anything that needs to > be transferred over the wire can register a dependency to the core package and > thats it. > > publisher.hessian and factory.hessian have a dependency to core PLUS they also > register a Buddy at core. > > removing the dependency of core to hessian means > > publisher.hessian and factory.hessian need a dependency on the hessian bundly > PLUS the register as buddy. (thats ok) > > it also means that any data objects that needs to go over the wire (that is not > from the JDK itself) needs to register a dependency on publisher.hessian and > factory.hessian plus they need to register as buddy for each of them. Not so > nice. Thats why we choose the current construct. I will try the optional flag.....I look forward to your contribution of the json protocol implementation. |