Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO] What happened to CDOSession.getConnector()???
[CDO] What happened to CDOSession.getConnector()??? [message #424122] Thu, 16 October 2008 18:17 Go to next message
Victor Roldan Betancort is currently offline Victor Roldan BetancortFriend
Messages: 524
Registered: July 2009
Senior Member
Hi Eike,

I just synchronized with last changes in CVS, and I found some methods
disappeared from CDOSession:

public IChannel getChannel();

public IConnector getConnector();

Could you give me some information regarding this change?

How do I set now FailOverStrategy to a session if I cannot get it's
connector? What Am I doing wrong?
Re: [CDO] What happened to CDOSession.getConnector()??? [message #424123 is a reply to message #424122] Thu, 16 October 2008 18:42 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Hi Vik,

This is work in progress to provide reliable fail-over support. The idea
of the CDOSessionConfiguration is to call only one of setConnector() or
setFailOverStrategy(). Actually the first one will be just a convenience
wrapper for a NOOPFailOverStrategy that just times out when the channel
(i.e. the underlying connector) does not respond anymore. In the
CDOSession instead of getChannel() you can call
getProtocol().getChannel(). Maybe this new method is not yet public and
I'm also not sure if I want to continue to expose these transport
related facilities in the CDOSession API. In the end it will a matter of
a particular fail-over strategy to use one or several configured
connectors to swap the channel in the protocol of the session...

Sorry for the inconvenience but I was blocked by some other annoying things.

Cheers
/Eike


Víctor Roldán Betancort schrieb:
> Hi Eike,
>
> I just synchronized with last changes in CVS, and I found some methods
> disappeared from CDOSession:
>
> public IChannel getChannel();
>
> public IConnector getConnector();
>
> Could you give me some information regarding this change?
>
> How do I set now FailOverStrategy to a session if I cannot get it's
> connector? What Am I doing wrong?


Re: [CDO] What happened to CDOSession.getConnector()??? [message #424126 is a reply to message #424123] Thu, 16 October 2008 20:41 Go to previous messageGo to next message
Victor Roldan Betancort is currently offline Victor Roldan BetancortFriend
Messages: 524
Registered: July 2009
Senior Member
Hi Eike,

no inconvenience, just a little scared I sync and realize many errors
pop up, but that's the thing of being aligned with the bleeding-edge!

I understand that if you use CDOSessionConfiguration to start a session,
you'll be able to set the FailOverStrategy (since you need to create the
connector yourself). But why to hide CDOSession transport facilities?
IMHO, a CDOSession is too closely related with the transport facility.
Once you get a session, you'll ever be able to get to it's underlying
transport components. Of course, you are the expert, and know what is
more convenient to be exposed in the API and what is not! :)

Any changes to make CDO better is always welcome, so I have nothing to
say against it.

Best Regards,
ViK.

Eike Stepper escribió:
> Hi Vik,
>
> This is work in progress to provide reliable fail-over support. The idea
> of the CDOSessionConfiguration is to call only one of setConnector() or
> setFailOverStrategy(). Actually the first one will be just a convenience
> wrapper for a NOOPFailOverStrategy that just times out when the channel
> (i.e. the underlying connector) does not respond anymore. In the
> CDOSession instead of getChannel() you can call
> getProtocol().getChannel(). Maybe this new method is not yet public and
> I'm also not sure if I want to continue to expose these transport
> related facilities in the CDOSession API. In the end it will a matter of
> a particular fail-over strategy to use one or several configured
> connectors to swap the channel in the protocol of the session...
>
> Sorry for the inconvenience but I was blocked by some other annoying
> things.
>
> Cheers
> /Eike
>
>
> Víctor Roldán Betancort schrieb:
>> Hi Eike,
>>
>> I just synchronized with last changes in CVS, and I found some methods
>> disappeared from CDOSession:
>>
>> public IChannel getChannel();
>>
>> public IConnector getConnector();
>>
>> Could you give me some information regarding this change?
>>
>> How do I set now FailOverStrategy to a session if I cannot get it's
>> connector? What Am I doing wrong?
Re: [CDO] What happened to CDOSession.getConnector()??? [message #424129 is a reply to message #424126] Thu, 16 October 2008 19:37 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Víctor Roldán Betancort schrieb:
> Hi Eike,
>
> no inconvenience, just a little scared I sync and realize many errors
> pop up, but that's the thing of being aligned with the bleeding-edge!
>
> I understand that if you use CDOSessionConfiguration to start a
> session, you'll be able to set the FailOverStrategy (since you need to
> create the connector yourself). But why to hide CDOSession transport
> facilities? IMHO, a CDOSession is too closely related with the
> transport facility. Once you get a session, you'll ever be able to get
> to it's underlying transport components. Of course, you are the
> expert, and know what is more convenient to be exposed in the API and
> what is not! :)
This is also a bit of a preparation for non-Net4j transports although
that is not planned immediately. For the moment the CDOSession should
only know about its IChannel which is clearly not interesting for other
clients because it is always bound to its own internal
CDOClientProtocol. Generally an IChannel does not know its IConnector
(only through the much narrower interface IChannelMultiplexer) because
some time back I refactored cyclic dependencies between the channel and
the connector API. So the channel of the CDOSession is not usable for
other client data transfer and even not for determination of the
connector to open additional channels. In contrast to the past the
channel of the CDOSession is no longer created by the session itself but
rather injected from outside (DI). Basically this will be done by the
upcoming IFailOverStrategy.

Sounds a bit complicated? That's the price of the high flexibility ;-)

Cheers
/Eike


>
> Any changes to make CDO better is always welcome, so I have nothing to
> say against it.
>
> Best Regards,
> ViK.
>
> Eike Stepper escribió:
>> Hi Vik,
>>
>> This is work in progress to provide reliable fail-over support. The
>> idea of the CDOSessionConfiguration is to call only one of
>> setConnector() or setFailOverStrategy(). Actually the first one will
>> be just a convenience wrapper for a NOOPFailOverStrategy that just
>> times out when the channel (i.e. the underlying connector) does not
>> respond anymore. In the CDOSession instead of getChannel() you can
>> call getProtocol().getChannel(). Maybe this new method is not yet
>> public and I'm also not sure if I want to continue to expose these
>> transport related facilities in the CDOSession API. In the end it
>> will a matter of a particular fail-over strategy to use one or
>> several configured connectors to swap the channel in the protocol of
>> the session...
>>
>> Sorry for the inconvenience but I was blocked by some other annoying
>> things.
>>
>> Cheers
>> /Eike
>>
>>
>> Víctor Roldán Betancort schrieb:
>>> Hi Eike,
>>>
>>> I just synchronized with last changes in CVS, and I found some
>>> methods disappeared from CDOSession:
>>>
>>> public IChannel getChannel();
>>>
>>> public IConnector getConnector();
>>>
>>> Could you give me some information regarding this change?
>>>
>>> How do I set now FailOverStrategy to a session if I cannot get it's
>>> connector? What Am I doing wrong?


Re: [CDO] What happened to CDOSession.getConnector()??? [message #424130 is a reply to message #424129] Thu, 16 October 2008 21:30 Go to previous message
Victor Roldan Betancort is currently offline Victor Roldan BetancortFriend
Messages: 524
Registered: July 2009
Senior Member
Eike,

these ideas sound very promising! I'm sure lot of cool integrations with
CDO could arise from this decoupling. Is your mind already in e4? :P

Regards,
ViK.

Eike Stepper escribió:
> Víctor Roldán Betancort schrieb:
>> Hi Eike,
>>
>> no inconvenience, just a little scared I sync and realize many errors
>> pop up, but that's the thing of being aligned with the bleeding-edge!
>>
>> I understand that if you use CDOSessionConfiguration to start a
>> session, you'll be able to set the FailOverStrategy (since you need to
>> create the connector yourself). But why to hide CDOSession transport
>> facilities? IMHO, a CDOSession is too closely related with the
>> transport facility. Once you get a session, you'll ever be able to get
>> to it's underlying transport components. Of course, you are the
>> expert, and know what is more convenient to be exposed in the API and
>> what is not! :)
> This is also a bit of a preparation for non-Net4j transports although
> that is not planned immediately. For the moment the CDOSession should
> only know about its IChannel which is clearly not interesting for other
> clients because it is always bound to its own internal
> CDOClientProtocol. Generally an IChannel does not know its IConnector
> (only through the much narrower interface IChannelMultiplexer) because
> some time back I refactored cyclic dependencies between the channel and
> the connector API. So the channel of the CDOSession is not usable for
> other client data transfer and even not for determination of the
> connector to open additional channels. In contrast to the past the
> channel of the CDOSession is no longer created by the session itself but
> rather injected from outside (DI). Basically this will be done by the
> upcoming IFailOverStrategy.
>
> Sounds a bit complicated? That's the price of the high flexibility ;-)
>
> Cheers
> /Eike
>
>
>>
>> Any changes to make CDO better is always welcome, so I have nothing to
>> say against it.
>>
>> Best Regards,
>> ViK.
>>
>> Eike Stepper escribió:
>>> Hi Vik,
>>>
>>> This is work in progress to provide reliable fail-over support. The
>>> idea of the CDOSessionConfiguration is to call only one of
>>> setConnector() or setFailOverStrategy(). Actually the first one will
>>> be just a convenience wrapper for a NOOPFailOverStrategy that just
>>> times out when the channel (i.e. the underlying connector) does not
>>> respond anymore. In the CDOSession instead of getChannel() you can
>>> call getProtocol().getChannel(). Maybe this new method is not yet
>>> public and I'm also not sure if I want to continue to expose these
>>> transport related facilities in the CDOSession API. In the end it
>>> will a matter of a particular fail-over strategy to use one or
>>> several configured connectors to swap the channel in the protocol of
>>> the session...
>>>
>>> Sorry for the inconvenience but I was blocked by some other annoying
>>> things.
>>>
>>> Cheers
>>> /Eike
>>>
>>>
>>> Víctor Roldán Betancort schrieb:
>>>> Hi Eike,
>>>>
>>>> I just synchronized with last changes in CVS, and I found some
>>>> methods disappeared from CDOSession:
>>>>
>>>> public IChannel getChannel();
>>>>
>>>> public IConnector getConnector();
>>>>
>>>> Could you give me some information regarding this change?
>>>>
>>>> How do I set now FailOverStrategy to a session if I cannot get it's
>>>> connector? What Am I doing wrong?
Previous Topic:Problem closing XML files loaded with EMF
Next Topic:EMF plus IBM's Business Process Server = ClassCastException. Any ideas?
Goto Forum:
  


Current Time: Sat Apr 20 12:43:06 GMT 2024

Powered by FUDForum. Page generated in 0.04005 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top