クラス org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread

org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThreadに対する継承グラフ

Inheritance graph
[凡例]
org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThreadのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

説明

Executes all the work for shutting down a controller. This implies, blocking new clients, waiting for current clients to finish their transaction or disconnect them. Shutdown databases by shutting down backends and storing checkpoints

作者:
Nicolas Modrzyk
バージョン:
1.0

ControllerShutdownThread.java48 行で定義されています。

Public メソッド

 ControllerShutdownThread (Controller controller, int ilevel)
void shutdownImmediate ()
void shutdownSmart () throws ShutdownException
void shutdownFast () throws ShutdownException
void setSystemExit (boolean systemExit)

Protected メソッド

void beforeShutdown ()
void shutdown ()

Private メソッド

void shutdownJmxAgent ()
void shutdownDatabases (int level)
void shutdownServerConnectionThread () throws ShutdownException

Private 変数

Controller controller
ReportManager report
boolean systemExit = true


コンストラクタとデストラクタ

org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.ControllerShutdownThread Controller  controller,
int  ilevel
 

Prepare the thread for shutting down.

引数:
controller the controller to shutdown
ilevel the level Smart,Fast,Immediate
ControllerShutdownThread.java60 行で定義されています。

参照先 org.objectweb.cjdbc.controller.core.Controller.getName(), org.objectweb.cjdbc.controller.core.Controller.getReport(), と org.objectweb.cjdbc.controller.core.Controller.report.

00061 { 00062 super(ilevel, ShutdownThread.CONTROLLER, controller.getName()); 00063 this.controller = controller; 00064 this.report = controller.getReport(); 00065 }


メソッド

void org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.beforeShutdown  )  [protected]
 

org.objectweb.cjdbc.controller.core.shutdown.ShutdownThreadを再定義しています。

ControllerShutdownThread.java75 行で定義されています。

参照先 org.objectweb.cjdbc.controller.core.ReportManager.isGenerateOnShutdown(), org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.report, と org.objectweb.cjdbc.controller.core.ReportManager.startReport().

00076 { 00077 if (report !=null && report.isGenerateOnShutdown()) 00078 { 00079 report.startReport(); 00080 } 00081 }

void org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.setSystemExit boolean  systemExit  ) 
 

Sets the systemExit value.

引数:
systemExit The systemExit to set.
ControllerShutdownThread.java177 行で定義されています。

参照元 org.objectweb.cjdbc.controller.core.Controller.shutdown().

00178 { 00179 this.systemExit = systemExit; 00180 }

void org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdown  )  [protected]
 

ControllerShutdownThread.java83 行で定義されています。

参照先 org.objectweb.cjdbc.common.log.Trace.debug(), org.objectweb.cjdbc.controller.core.ReportManager.generate(), org.objectweb.cjdbc.controller.core.ReportManager.getReportLocation(), org.objectweb.cjdbc.common.log.Trace.info(), org.objectweb.cjdbc.controller.core.ReportManager.isGenerateOnShutdown(), org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.report, と org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.systemExit.

参照元 org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownFast(), org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownImmediate(), と org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownSmart().

00084 { 00085 logger.info("Shutting down controller"); 00086 logger.debug(Translate.get("controller.shutdown.post")); 00087 if (report !=null && report.isGenerateOnShutdown()) 00088 { 00089 report.generate(); 00090 logger.info(Translate.get("fatal.report.generated", report 00091 .getReportLocation() 00092 + File.separator + ControllerConstants.REPORT_FILE)); 00093 } 00094 if (systemExit) 00095 System.exit(0); 00096 }

void org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownDatabases int  level  )  [private]
 

ControllerShutdownThread.java135 行で定義されています。

参照先 org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.controller, org.objectweb.cjdbc.common.log.Trace.error(), org.objectweb.cjdbc.controller.core.Controller.getVirtualDatabases(), と org.objectweb.cjdbc.common.log.Trace.info().

参照元 org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownFast(), と org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownSmart().

00136 { 00137 logger.info("Shutting down databases"); 00138 try 00139 { 00140 //Shutdown each virtual database with proper level 00141 ArrayList listvb = controller.getVirtualDatabases(); 00142 int nbvb = listvb.size(); 00143 for (int i = 0; i < nbvb; i++) 00144 { 00145 logger.info("Shutting down database:"+((VirtualDatabase)listvb.get(i)).getName() + " with level:"+level); 00146 ((VirtualDatabase) listvb.get(i)).shutdown(level); 00147 logger.info("Database:"+((VirtualDatabase)listvb.get(i)).getName()+" is shutdown"); 00148 } 00149 } 00150 catch (Exception e) 00151 { 00152 logger.error(Translate.get("controller.shutdown.database.error",e)); 00153 } 00154 }

void org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownFast  )  throws ShutdownException [virtual]
 

参照:
org.objectweb.cjdbc.controller.core.shutdown.ShutdownThread.shutdownFast()

org.objectweb.cjdbc.controller.core.shutdown.ShutdownThreadを実装しています.

ControllerShutdownThread.java112 行で定義されています。

参照先 org.objectweb.cjdbc.controller.core.shutdown.ShutdownThread.getShutdownLevel(), org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdown(), org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownDatabases(), org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownJmxAgent(), と org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownServerConnectionThread().

00113 { 00114 shutdownJmxAgent(); 00115 shutdownServerConnectionThread(); 00116 shutdownDatabases(this.getShutdownLevel()); 00117 shutdown(); 00118 }

void org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownImmediate  )  [virtual]
 

参照:
org.objectweb.cjdbc.controller.core.shutdown.ShutdownThread.shutdownImmediate()

org.objectweb.cjdbc.controller.core.shutdown.ShutdownThreadを実装しています.

ControllerShutdownThread.java70 行で定義されています。

参照先 org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdown().

00071 { 00072 shutdown(); 00073 }

void org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownJmxAgent  )  [private]
 

ControllerShutdownThread.java120 行で定義されています。

参照先 org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.controller, org.objectweb.cjdbc.common.log.Trace.error(), org.objectweb.cjdbc.controller.core.Controller.getJmxEnable(), と org.objectweb.cjdbc.common.log.Trace.info().

参照元 org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownFast(), と org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownSmart().

00121 { 00122 logger.info("Shutting down Jmx Agent"); 00123 try 00124 { 00125 if (controller.getJmxEnable()) 00126 MBeanServerManager.setJmxEnabled(false); 00127 } 00128 catch (Exception jme) 00129 { 00130 logger.error(Translate.get("controller.shutdown.jmx.error",jme.getMessage()),jme); 00131 //throw new ShutdownException(jme); 00132 } 00133 }

void org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownServerConnectionThread  )  throws ShutdownException [private]
 

ControllerShutdownThread.java156 行で定義されています。

参照先 org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.controller, org.objectweb.cjdbc.controller.core.Controller.getConnectionThread(), org.objectweb.cjdbc.common.log.Trace.info(), org.objectweb.cjdbc.controller.core.ControllerServerThread.isShuttingDown, と org.objectweb.cjdbc.controller.core.ControllerServerThread.shutdown().

参照元 org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownFast(), と org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownSmart().

00157 { 00158 logger.info("Shutting down Connection thread"); 00159 try 00160 { 00161 // Shutdown Server Connections Thread 00162 ControllerServerThread thread = controller.getConnectionThread(); 00163 if (thread != null && !thread.isShuttingDown()) 00164 thread.shutdown(); 00165 } 00166 catch (Exception e) 00167 { 00168 throw new ShutdownException(e); 00169 } 00170 }

void org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownSmart  )  throws ShutdownException [virtual]
 

参照:
org.objectweb.cjdbc.controller.core.shutdown.ShutdownThread.shutdownSmart()

org.objectweb.cjdbc.controller.core.shutdown.ShutdownThreadを実装しています.

ControllerShutdownThread.java101 行で定義されています。

参照先 org.objectweb.cjdbc.controller.core.shutdown.ShutdownThread.getShutdownLevel(), org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdown(), org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownDatabases(), org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownJmxAgent(), と org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownServerConnectionThread().

00102 { 00103 shutdownJmxAgent(); 00104 shutdownServerConnectionThread(); 00105 shutdownDatabases(this.getShutdownLevel()); 00106 shutdown(); 00107 }


変数

Controller org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.controller [private]
 

ControllerShutdownThread.java50 行で定義されています。

参照元 org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownDatabases(), org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownJmxAgent(), と org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdownServerConnectionThread().

ReportManager org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.report [private]
 

ControllerShutdownThread.java51 行で定義されています。

参照元 org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.beforeShutdown(), と org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdown().

boolean org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.systemExit = true [private]
 

ControllerShutdownThread.java52 行で定義されています。

参照元 org.objectweb.cjdbc.controller.core.shutdown.ControllerShutdownThread.shutdown().


このクラスの説明は次のファイルから生成されました:
CJDBCversion1.0.4に対してTue Oct 12 15:16:41 2004に生成されました。 doxygen 1.3.8