diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/MinerThread.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/MinerThread.java index 44ec4186b1d..79ff915fbf8 100644 --- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/MinerThread.java +++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/MinerThread.java @@ -13,6 +13,7 @@ * * Contributors: * Noriaki Takatsu (IBM) [220126] [dstore][api][breaking] Single process server for multiple clients + * Noriaki Takatsu (IBM) [283656] [dstore][multithread] Serviceability issue *******************************************************************************/ package org.eclipse.dstore.core.miners; @@ -64,6 +65,9 @@ public abstract class MinerThread extends SecuredThread } catch (Exception e) { + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logError(this.getClass().toString(), e.toString(), e); + } System.out.println(e); } @@ -93,6 +97,9 @@ public abstract class MinerThread extends SecuredThread } catch (InterruptedException e) { + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logError(this.getClass().toString(), e.toString(), e); + } System.out.println(e); } @@ -105,6 +112,9 @@ public abstract class MinerThread extends SecuredThread } catch (Exception e) { + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logError(this.getClass().toString(), e.toString(), e); + } System.out.println(e); } } diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ConnectionEstablisher.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ConnectionEstablisher.java index 5cd6f43da62..40862674f43 100644 --- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ConnectionEstablisher.java +++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ConnectionEstablisher.java @@ -23,6 +23,7 @@ * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed * Noriaki Takatsu (IBM) - [242968] [multithread] serverSocket must be closed when an exception happens in Accept * David McKnight (IBM) - [257321] [dstore] "Error binding socket" should include port of the failed socket + * Noriaki Takatsu (IBM) - [283656] [dstore][multithread] Serviceability issue *******************************************************************************/ package org.eclipse.dstore.core.server; @@ -517,6 +518,9 @@ public class ConnectionEstablisher } catch (IOException e) { + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logError(this.getClass().toString(), e.toString(), e); + } System.out.println(e); } diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerReceiver.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerReceiver.java index 2f376033a7b..cf767d56bd0 100644 --- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerReceiver.java +++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerReceiver.java @@ -17,6 +17,7 @@ * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed * Noriaki Takatsu (IBM) - [257666] [multithread] TCP/IP socket connection is not closed * David McKnight (IBM) - [257666] modified original patch to simplify + * Noriaki Takatsu (IBM) - [283656] [dstore][multithread] Serviceability issue *******************************************************************************/ package org.eclipse.dstore.core.server; @@ -90,6 +91,9 @@ public class ServerReceiver extends Receiver socket().close(); } catch (IOException e){ + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logError(this.getClass().toString(), e.toString(), e); + } System.out.println(e); } } @@ -99,6 +103,9 @@ public class ServerReceiver extends Receiver */ public void handleError(Throwable e) { + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logError(this.getClass().toString(), e.toString(), e); + } System.out.println("RECEIVER ERROR"); //$NON-NLS-1$ e.printStackTrace(); System.out.println(e); diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerCommandHandler.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerCommandHandler.java index 313c1ea0a49..c10a99045b0 100644 --- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerCommandHandler.java +++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerCommandHandler.java @@ -15,6 +15,7 @@ * David McKnight (IBM) [224906] [dstore] changes for getting properties and doing exit due to single-process capability * David McKnight (IBM) - [244388] [dstore] Connection hangs when a miner not installed * David McKnight (IBM) - [278341] [dstore] Disconnect on idle causes the client hang + * Noriaki Takatsu (IBM) - [283656] [dstore][multithread] Serviceability issue *******************************************************************************/ package org.eclipse.dstore.internal.core.server; @@ -64,6 +65,9 @@ public class ServerCommandHandler extends CommandHandler _dataStore.getUpdateHandler().finish(); _dataStore.finish(); System.out.println(ServerReturnCodes.RC_FINISHED); + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "Server timeout"); + } // only exit if there's no service manager if (SystemServiceManager.getInstance().getSystemService() == null){