📄 example5.java.html
字号:
</FONT><FONT color=#008000>/**<em> </em><em>List</em><em> </em><em>of</em><em> </em><em>servers</em><em> </em><em>*</em><em>/</em></FONT><FONT color=#000000> </FONT><FONT color=#000080><b>JCO.Server</b></FONT><FONT color=#000000> srv[] = </FONT><FONT color=#0000FF><b>new</b></FONT><FONT color=#000000> </FONT><FONT color=#000080><b>JCO.Server</b></FONT><FONT color=#000000>[2]; </FONT><FONT color=#008000>/**<em> </em><em> </em><em> </em><em>*</em><em> </em><em> </em><em>Constructor</em><em> </em><em> </em><em> </em><em>*</em><em>/</em></FONT><FONT color=#000000> </FONT><FONT color=#0000FF><b>public</b></FONT><FONT color=#000000> Example5() { </FONT><FONT color=#008000>//<em> </em><em>Yes</em><em>,</em><em> </em><em>we</em><em>'</em><em>re</em><em> </em><em>interested</em><em> </em><em>in</em><em> </em><em>server</em><em> </em><em>exceptions</em></FONT><FONT color=#000000> </FONT><FONT color=#000080><b>JCO.addServerExceptionListener</b></FONT><FONT color=#000000>(</FONT><FONT color=#0000FF><b>this</b></FONT><FONT color=#000000>); </FONT><FONT color=#008000>//<em> </em><em>And</em><em> </em><em>we</em><em> </em><em>also</em><em> </em><em>want</em><em> </em><em>to</em><em> </em><em>know</em><em> </em><em>when</em><em> </em><em>the</em><em> </em><em>server</em><em>(</em><em>s</em><em>)</em><em> </em><em>change</em><em> </em><em>their</em><em> </em><em>states</em></FONT><FONT color=#000000> </FONT><FONT color=#000080><b>JCO.addServerStateChangedListener</b></FONT><FONT color=#000000>(</FONT><FONT color=#0000FF><b>this</b></FONT><FONT color=#000000>); } </FONT><FONT color=#008000>/**<em> </em><em> </em><em> </em><em>*</em><em> </em><em> </em><em>Start</em><em> </em><em>the</em><em> </em><em>server</em><em> </em><em> </em><em> </em><em>*</em><em>/</em></FONT><FONT color=#000000> </FONT><FONT color=#0000FF><b>public</b></FONT><FONT color=#000000> </FONT><FONT color=#0000FF><b>void</b></FONT><FONT color=#000000> startServers() { </FONT><FONT color=#008000>//<em> </em><em>Server</em><em> </em><em>1</em><em> </em><em>listens</em><em> </em><em>for</em><em> </em><em>incoming</em><em> </em><em>requests</em><em> </em><em>from</em><em> </em><em>system</em><em> </em><em>1</em></FONT><FONT color=#000000> </FONT><FONT color=#008000>//<em> </em><em>(</em><em>Change</em><em> </em><em>gateway</em><em> </em><em>host</em><em>,</em><em> </em><em>service</em><em>,</em><em> </em><em>and</em><em> </em><em>program</em><em> </em><em>ID</em><em> </em><em>according</em><em> </em><em>to</em><em> </em><em>your</em><em> </em><em>needs</em><em>)</em></FONT><FONT color=#000000> srv[0] = </FONT><FONT color=#0000FF><b>new</b></FONT><FONT color=#000000> Server(</FONT><FONT color=#FF00FF>"gwhost1"</FONT><FONT color=#000000>,</FONT><FONT color=#FF00FF>"gwserv00"</FONT><FONT color=#000000>,</FONT><FONT color=#FF00FF>"JCOSERVER01"</FONT><FONT color=#000000>,repository); </FONT><FONT color=#008000>//<em> </em><em>Server</em><em> </em><em>2</em><em> </em><em>listens</em><em> </em><em>for</em><em> </em><em>incoming</em><em> </em><em>requests</em><em> </em><em>from</em><em> </em><em>system</em><em> </em><em>2</em></FONT><FONT color=#000000> </FONT><FONT color=#008000>//<em> </em><em>(</em><em>Change</em><em> </em><em>gateway</em><em> </em><em>host</em><em>,</em><em> </em><em>service</em><em>,</em><em> </em><em>and</em><em> </em><em>program</em><em> </em><em>ID</em><em> </em><em>according</em><em> </em><em>to</em><em> </em><em>your</em><em> </em><em>needs</em><em>)</em></FONT><FONT color=#000000> srv[1] = </FONT><FONT color=#0000FF><b>new</b></FONT><FONT color=#000000> Server(</FONT><FONT color=#FF00FF>"gwhost2"</FONT><FONT color=#000000>,</FONT><FONT color=#FF00FF>"gwserv00"</FONT><FONT color=#000000>,</FONT><FONT color=#FF00FF>"JCOSERVER02"</FONT><FONT color=#000000>,repository); </FONT><FONT color=#0000FF><b>for</b></FONT><FONT color=#000000> (</FONT><FONT color=#0000FF><b>int</b></FONT><FONT color=#000000> i = 0; i < srv.length; i++) { </FONT><FONT color=#0000FF><b>try</b></FONT><FONT color=#000000> { srv[i]</FONT><FONT color=#000080><b>.setTrace</b></FONT><FONT color=#000000>(</FONT><FONT color=#0000FF><b>true</b></FONT><FONT color=#000000>); srv[i]</FONT><FONT color=#000080><b>.start</b></FONT><FONT color=#000000>(); } </FONT><FONT color=#0000FF><b>catch</b></FONT><FONT color=#000000> (Exception ex) { System.out.println(</FONT><FONT color=#FF00FF>"Could not start server "</FONT><FONT color=#000000> + srv[i]</FONT><FONT color=#000080><b>.getProgID</b></FONT><FONT color=#000000>() + </FONT><FONT color=#FF00FF>":\n"</FONT><FONT color=#000000> + ex); }</FONT><FONT color=#008000>//<em>try</em></FONT><FONT color=#000000> }</FONT><FONT color=#008000>//<em>for</em></FONT><FONT color=#000000> } </FONT><FONT color=#008000>/**<em> </em><em> </em><em> </em><em>*</em><em> </em><em> </em><em>Simply</em><em> </em><em>prints</em><em> </em><em>the</em><em> </em><em>text</em><em> </em><em>of</em><em> </em><em>the</em><em> </em><em>exception</em><em> </em><em>and</em><em> </em><em>a</em><em> </em><em>stack</em><em> </em><em>trace</em><em> </em><em> </em><em> </em><em>*</em><em>/</em></FONT><FONT color=#000000> </FONT><FONT color=#0000FF><b>public</b></FONT><FONT color=#000000> </FONT><FONT color=#0000FF><b>void</b></FONT><FONT color=#000000> serverExceptionOccurred(</FONT><FONT color=#000080><b>JCO.Server</b></FONT><FONT color=#000000> server, Exception ex) { System.out.println(</FONT><FONT color=#FF00FF>"Exception in server "</FONT><FONT color=#000000> + server</FONT><FONT color=#000080><b>.getProgID</b></FONT><FONT color=#000000>() + </FONT><FONT color=#FF00FF>":\n"</FONT><FONT color=#000000> + ex); ex.printStackTrace(); } </FONT><FONT color=#008000>/**<em> </em><em> </em><em> </em><em>*</em><em> </em><em> </em><em>Simply</em><em> </em><em>prints</em><em> </em><em>server</em><em> </em><em>state</em><em> </em><em>changes</em><em> </em><em> </em><em> </em><em>*</em><em>/</em></FONT><FONT color=#000000> </FONT><FONT color=#0000FF><b>public</b></FONT><FONT color=#000000> </FONT><FONT color=#0000FF><b>void</b></FONT><FONT color=#000000> serverStateChangeOccurred(</FONT><FONT color=#000080><b>JCO.Server</b></FONT><FONT color=#000000> server, </FONT><FONT color=#0000FF><b>int</b></FONT><FONT color=#000000> old_state, </FONT><FONT color=#0000FF><b>int</b></FONT><FONT color=#000000> new_state) { System.out.print(</FONT><FONT color=#FF00FF>"Server "</FONT><FONT color=#000000> + server</FONT><FONT color=#000080><b>.getProgID</b></FONT><FONT color=#000000>() + </FONT><FONT color=#FF00FF>" changed state from ["</FONT><FONT color=#000000>); </FONT><FONT color=#0000FF><b>if</b></FONT><FONT color=#000000> ((old_state & </FONT><FONT color=#000080><b>JCO.STATE_STOPPED</b></FONT><FONT color=#000000> ) != 0) System.out.print(</FONT><FONT color=#FF00FF>" STOPPED "</FONT><FONT color=#000000>); </FONT><FONT color=#0000FF><b>if</b></FONT><FONT color=#000000> ((old_state & </FONT><FONT color=#000080><b>JCO.STATE_STARTED</b></FONT><FONT color=#000000> ) != 0) System.out.print(</FONT><FONT color=#FF00FF>" STARTED "</FONT><FONT color=#000000>); </FONT><FONT color=#0000FF><b>if</b></FONT><FONT color=#000000> ((old_state & </FONT><FONT color=#000080><b>JCO.STATE_LISTENING</b></FONT><FONT color=#000000> ) != 0) System.out.print(</FONT><FONT color=#FF00FF>" LISTENING "</FONT><FONT color=#000000>); </FONT><FONT color=#0000FF><b>if</b></FONT><FONT color=#000000> ((old_state & </FONT><FONT color=#000080><b>JCO.STATE_TRANSACTION</b></FONT><FONT color=#000000>) != 0) System.out.print(</FONT><FONT color=#FF00FF>" TRANSACTION "</FONT><FONT color=#000000>); </FONT><FONT color=#0000FF><b>if</b></FONT><FONT color=#000000> ((old_state & </FONT><FONT color=#000080><b>JCO.STATE_BUSY</b></FONT><FONT color=#000000> ) != 0) System.out.print(</FONT><FONT color=#FF00FF>" BUSY "</FONT><FONT color=#000000>); System.out.print(</FONT><FONT color=#FF00FF>"] to ["</FONT><FONT color=#000000>); </FONT><FONT color=#0000FF><b>if</b></FONT><FONT color=#000000> ((new_state & </FONT><FONT color=#000080><b>JCO.STATE_STOPPED</b></FONT><FONT color=#000000> ) != 0) System.out.print(</FONT><FONT color=#FF00FF>" STOPPED "</FONT><FONT color=#000000>); </FONT><FONT color=#0000FF><b>if</b></FONT><FONT color=#000000> ((new_state & </FONT><FONT color=#000080><b>JCO.STATE_STARTED</b></FONT><FONT color=#000000> ) != 0) System.out.print(</FONT><FONT color=#FF00FF>" STARTED "</FONT><FONT color=#000000>); </FONT><FONT color=#0000FF><b>if</b></FONT><FONT color=#000000> ((new_state & </FONT><FONT color=#000080><b>JCO.STATE_LISTENING</b></FONT><FONT color=#000000> ) != 0) System.out.print(</FONT><FONT color=#FF00FF>" LISTENING "</FONT><FONT color=#000000>); </FONT><FONT color=#0000FF><b>if</b></FONT><FONT color=#000000> ((new_state & </FONT><FONT color=#000080><b>JCO.STATE_TRANSACTION</b></FONT><FONT color=#000000>) != 0) System.out.print(</FONT><FONT color=#FF00FF>" TRANSACTION "</FONT><FONT color=#000000>); </FONT><FONT color=#0000FF><b>if</b></FONT><FONT color=#000000> ((new_state & </FONT><FONT color=#000080><b>JCO.STATE_BUSY</b></FONT><FONT color=#000000> ) != 0) System.out.print(</FONT><FONT color=#FF00FF>" BUSY "</FONT><FONT color=#000000>); System.out.println(</FONT><FONT color=#FF00FF>"]"</FONT><FONT color=#000000>); } </FONT><FONT color=#0000FF><b>public</b></FONT><FONT color=#000000> </FONT><FONT color=#0000FF><b>static</b></FONT><FONT color=#000000> </FONT><FONT color=#0000FF><b>void</b></FONT><FONT color=#000000> main(String[] argv) { Example5 obj = </FONT><FONT color=#0000FF><b>new</b></FONT><FONT color=#000000> Example5(); obj.startServers(); }}</PRE></FONT></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -