|
Page Edited :
qpid :
Restructuring Java Broker and Client Design
Restructuring Java Broker and Client Design has been edited by Rajith Attapattu (Jul 31, 2007). Content:Proposed ArchitectureThe following diagram depicts the architecture for the client and broker. ------------------------------- Invoker – For out going The communication layer will be common to both client and broker.
Invoker and DelegateInvoker and Delegate are generated classes that contains all the methods in the spec. Multi Version SupportTo tackle multi version support the following stratergy is used. Unknown macro: {
public getX(String s); // AMQP 0-10
public getX(String s, int i); // AMQP 0-11
public getY(); // AMQP 0-10
public getZ(); // AMQP 0-11
}
Struct_A_v0_10 Unknown macro: {.... } } Struct_A_v0_11 Unknown macro: {.... } public getY() Unknown macro: {.... } } Client code can still use v0-10 methods with a v0-11 library and compile as the Interface and existing methods have not changed. Changes are handled by adding the new or modified methods. Note this strategy is only envisaged for incremental changes. A major change in spec would need substantial code changes. Qpid Client APIIs a thin wrapper around the Invoker plus a few convinence methods. Invoker Unknown macro: {
// All the spec methods
}
CommonSession extends Invoker Unknown macro: {
// convinience methods for messaging
header(Header h);
data(byte[] src);
endData();
messageTransfer(String destination,Message msg);
}
ClientSession extends CommonSession implements Session Unknown macro: {
// no implementations for 90% of the methods
// Acts as a Mask for Session 'class' so only session specific methods are visible to the user.
} |
Unsubscribe or edit your notifications preferences
