After a server is disconnected in an unwanted way, our component reconnects - but not immediately, but after a delay. The delay depends on the kind of problem detected, and there are currently three of them:
ServerFailedReconnectDelay (defaults to 1 minute) - when the OPC Server indicates through OPC functions that it has failed.
ServerShutdownReconnectDelay (defaults to 1 minute) - when the OPC Server wants to shutdown and has asked its OPC clients to disconnect.
ClientReconnectDelay (defaults to 1 minute) - in all other cases, when the connection is detected "dead".
So, in default configuration, after 1 minute, you should get your live data back. The delays are configurable via properties on the object.
I can theoretically imagine a situation in which the connection to the server is not fully "lost" but somehow damaged, leading to a situation in which we do not consider the connection "dead", and still attempt to work with it. If this is the case, and you never get the connection back until you restart the service, we will have to investigate further. For start, we will need to know the precise exceptions you are receiving.
BTW, we never generate or change Qualities. Connection (or other) problems detected in the component are indicated via Exceptions, either thrown or passed as an object. If you are seeing bad qualities, then they are coming from the OPC server itself. The fact that you mention Bad quality is actually suspicious, and indicates something on the server side as well.