I'm afraid Neil's proposal puts the exact same problem in another component.  
He is correct that you should NOT call any of the lifecycle methods that DS 
calls.  On the other hand the original request isn't very well formed.  

What is your goal here?  Do you want a service "proxying" the remote process to 
be registered only when there is a connection to the remote process?  How do 
you determine whether or not the remote process is available and when its 
availability changes?

I don't understand your problem yet, but you might consider having the activate 
method start a thread that manages the connection to the remote process, and 
registers a service when is establishes the connection and unregisters the 
service when the connection fails or ends.  The deactivate method can stop this 
thread.

thanks
david jencks

On Aug 5, 2014, at 4:48 PM, Neil Bartlett <njbartl...@gmail.com> wrote:

> No you should not call activate/deactivate yourself, these are intended to be 
> called by the framework.
> 
> Instead, represent the remote process as a service, then bind the service 
> into your DS component using a mandatory reference.
> 
> 
> On 6 August 2014 at 00:10:15, Dean Schulze (dean.w.schu...@gmail.com) wrote:
> 
> I have a Service Component that communicates with a remote process via a 
> socket. The activate methods waits for the remote process to come up and 
> then establishes communication. If that remote process goes down I need to 
> go through the same process that the activate method uses to establish 
> communication. 
> 
> I haven't been able to find any information on restarting a Service 
> Component. Can I programatically restart a Service Component, or would it 
> be better to call deactivate() and activate() on the same Service Component? 
> 
> Thanks. 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
For additional commands, e-mail: users-h...@felix.apache.org

Reply via email to