📄 staxmonitor.java
字号:
"No properties specified to be updated"); } if (noStart) { System.exit(0); } } else { System.out.println("Invalid parameters"); System.out.println(helpText); System.exit(0); } } ImageIcon image = new ImageIcon(splashURL); SplashScreen splash = new SplashScreen(image, "Initializing... " + kSplashText); splash.run(); try { Thread.sleep(1000); } catch (InterruptedException ex) { } addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { exit(); System.exit(0); } }); File propertiesFile = new File(fPropertiesFileName); if (!propertiesFile.exists()) { fStaxMachineName = "local"; fStaxServiceName = "STAX"; fIsSTAXServiceLocal = true; // Get Event machine/service based on STAX machine/service EventServiceInfo eventServiceInfo = new EventServiceInfo( fStaxMachineName, fStaxServiceName, this, true); fEventMachineName = eventServiceInfo.getMachine(); fEventServiceName = eventServiceInfo.getService(); fPropertiesCancelButton.setEnabled(false); createPropertiesDialog(); fPropertiesDialog.show(); // At this point the user has clicked on "Save" in the properties // dialog, so resolveMachineNames() and saveProperties() have // already been called in the actionPerformed code } else { createPropertiesDialog(); loadProperties(); fPropertiesAtStartup = false; // This can be true if the properties file is corrupt and could // not be read if (fStaxMachineName.equals("")) { fStaxMachineName = "local"; fStaxServiceName = "STAX"; fIsSTAXServiceLocal = true; // Get Event machine/service based on STAX machine/service EventServiceInfo eventServiceInfo = new EventServiceInfo( fStaxMachineName, fStaxServiceName, this, true); fEventMachineName = eventServiceInfo.getMachine(); fEventServiceName = eventServiceInfo.getService(); resolveMachineNames(); saveProperties(); } } getContentPane().setLayout(new BorderLayout()); getContentPane().setBackground(Color.white); JMenuBar mainMenuBar = new JMenuBar(); setJMenuBar(mainMenuBar); fFileMenu = new JMenu("File"); mainMenuBar.add(fFileMenu); fDisplayMenu = new JMenu("Display"); mainMenuBar.add(fDisplayMenu); fHelpMenu = new JMenu("Help"); mainMenuBar.add(fHelpMenu); fHelpAbout = new JMenuItem("About"); fHelpAbout.addActionListener(this); fJobParametersMenuItem = new JMenuItem("Submit New Job..."); fJobParametersMenuItem.addActionListener(this); fStartNewJobMenuItem = new JMenuItem("Resubmit Previous Job"); fStartNewJobMenuItem.addActionListener(this); fFileProperties = new JMenuItem("Properties..."); fFileProperties.addActionListener(this); fFileExit = new JMenuItem("Exit"); fFileExit.addActionListener(this); fDisplayServiceLog = new JMenuItem("Display STAX Service Log"); fDisplayServiceLog.addActionListener(this); fDisplaySelectedJobLog = new JMenuItem("Display Selected Job's Log"); fDisplaySelectedJobLog.addActionListener(this); fDisplaySelectedJobLog.setEnabled(false); fDisplaySelectedJobUserLog = new JMenuItem("Display Selected Job's User Log"); fDisplaySelectedJobUserLog.addActionListener(this); fDisplaySelectedJobUserLog.setEnabled(false); fDisplayJobLog = new JMenuItem("Display Job Log..."); fDisplayJobLog.addActionListener(this); fDisplayJobUserLog = new JMenuItem("Display Job User Log..."); fDisplayJobUserLog.addActionListener(this); // Verify that STAF V3.2.1 or later is running on the STAX Monitor in // order to allow the Display JVM Log options to be selectable (as // the STAFJVMLogViewer was added in STAF V3.2.1. boolean jvmLogSupport = true; try { result = STAFUtil.compareSTAFVersion( "local", fHandle, "3.2.1"); if (result.rc != STAFResult.Ok) { if (result.rc == STAFResult.InvalidSTAFVersion) { // Minimum required STAF version for the STAX Monitor's // "Display JVM Log" options is not running jvmLogSupport = false; } else { JOptionPane.showMessageDialog( this, "Error verifying STAF version. RC: " + result.rc + ", Additional info: " + result.result, "Error verifying STAF version", JOptionPane.ERROR_MESSAGE); } } } catch (Error err) { // Ignore as this error would have already been caught } fDisplaySTAXJVMLog = new JMenuItem("Display STAX JVM Log"); fDisplaySTAXJVMLog.addActionListener(this); fDisplayOtherJVMLog = new JMenuItem("Display Other JVM Log..."); fDisplayOtherJVMLog.addActionListener(this); if (!jvmLogSupport) { // Grey out these menu items fDisplaySTAXJVMLog.setEnabled(false); fDisplayOtherJVMLog.setEnabled(false); } fHelpMenu.add(fHelpAbout); fFileMenu.add(fFileProperties); fFileMenu.insertSeparator(1); fFileMenu.add(fJobParametersMenuItem); fFileMenu.add(fStartNewJobMenuItem); fFileMenu.insertSeparator(4); fFileMenu.add(fFileExit); fDisplayMenu.add(fDisplayServiceLog); fDisplayMenu.insertSeparator(1); fDisplayMenu.add(fDisplaySelectedJobLog); fDisplayMenu.add(fDisplaySelectedJobUserLog); fDisplayMenu.insertSeparator(4); fDisplayMenu.add(fDisplayJobLog); fDisplayMenu.add(fDisplayJobUserLog); fDisplayMenu.insertSeparator(7); fDisplayMenu.add(fDisplaySTAXJVMLog); fDisplayMenu.add(fDisplayOtherJVMLog); JPanel mainPanel = new JPanel(); mainPanel.setLayout(new BorderLayout()); JPanel jobsPanel = new JPanel(); jobsPanel.setLayout(new BorderLayout()); jobsPanel.setBorder(new TitledBorder("Active Jobs")); fActiveJobColumns = new Vector(); fActiveJobColumns.addElement(" Job ID "); fActiveJobColumns.addElement(" Job Name "); fActiveJobColumns.addElement(" Monitored "); fActiveJobColumns.addElement(" Function "); fActiveJobColumns.addElement(" Status "); fActiveJobColumns.addElement(" Started "); fActiveJobColumns.addElement(" Elapsed Time "); fActiveJobColumns.addElement(" Result "); fActiveJobsTableModel = new STAXMonitorTableModel(fActiveJobColumns, 0); fActiveJobsModelSorter = new STAXMonitorTableSorter(fActiveJobsTableModel, 0); fActiveJobsTable = new JTable(fActiveJobsModelSorter); fActiveJobsModelSorter. addMouseListenerToHeaderInTable(fActiveJobsTable, 7); fActiveJobsTable.addMouseListener(this); fActiveJobsTable.getSelectionModel().addListSelectionListener(this); updateJobTableRenderers(); fActiveJobsTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); fActiveJobsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); fActiveJobsTable.setRowSelectionAllowed(true); STAXMonitorUtil.sizeColumnsToFitText(fActiveJobsTable); JScrollPane jobsScrollPane = new JScrollPane(fActiveJobsTable); jobsPanel.add(jobsScrollPane); JPanel startNewJobPanel = new JPanel(); startNewJobPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0)); fStartNewJobButton.addActionListener(this); startNewJobPanel.add(fStartNewJobButton); startNewJobPanel.add(Box.createHorizontalStrut(20)); fSubmitLastJobButton.addActionListener(this); startNewJobPanel.add(fSubmitLastJobButton); mainPanel.add(BorderLayout.CENTER, jobsPanel); mainPanel.add(BorderLayout.SOUTH, startNewJobPanel); fJobPopupMenu.add(fJobShowMonitorMenuItem); fJobShowMonitorMenuItem.addActionListener(this); fJobPopupMenu.add(fJobStartMonitorMenuItem); fJobStartMonitorMenuItem.addActionListener(this); fJobPopupMenu.addSeparator(); fJobPopupMenu.add(fJobShowSTAXServiceLogMenuItem); fJobShowSTAXServiceLogMenuItem.addActionListener(this); fJobPopupMenu.addSeparator(); fJobPopupMenu.add(fJobShowJobLogMenuItem); fJobShowJobLogMenuItem.addActionListener(this); fJobPopupMenu.add(fJobShowJobUserLogMenuItem); fJobShowJobUserLogMenuItem.addActionListener(this); fJobPopupMenu.addSeparator(); fJobPopupMenu.add(fJobTerminateJobMenuItem); fJobTerminateJobMenuItem.addActionListener(this); // Get STAX service version String versionRequest = "VERSION"; STAFResult versionResult = fHandle.submit2( fStaxMachineName, fStaxServiceName, versionRequest); if (versionResult.rc == 0) { String staxServiceVersion = versionResult.result; fSTAXServiceVersion = new STAFVersion(staxServiceVersion); // Check if STAX service is at the required version STAFVersion requiredVersion1 = new STAFVersion( fServiceRequiredVersion); if (fSTAXServiceVersion.compareTo(requiredVersion1) < 0) { JOptionPane.showMessageDialog(this, "WARNING: STAX service machine is not at STAX version " + requiredVersion1 + " or later.\n" + "machine=" + fStaxMachineName + ", service=" + fStaxServiceName + ", version=" + fSTAXServiceVersion, "Incorrect STAX service version", JOptionPane.ERROR_MESSAGE); } else { // Load the extensions before displaying the main STAX Monitor panel loadExtensions(); } } // Handle -extensions parameter if (argv.length > 0 && argv[0].equalsIgnoreCase("-EXTENSIONS")) { // Display the registered STAX Monitor Extensions displayMonitorExtensions(); } // Get the endpoint for the STAX Monitor machine that the STAX service // machine will use when communicating with the STAX Monitor machine STAFResult whoamiResult = fHandle.submit2( fStaxMachineName, "MISC", "WHOAMI"); if (whoamiResult.rc != 0) { System.out.println( "Error submitting MISC WHOAMI request to the STAX " + "service machine " + fStaxMachineName + ".\nRC=" + whoamiResult.rc + " Result=" + whoamiResult.result); // Default to using the local machine's name fSTAXMonitorEndpoint = fLocalMachineName; } else { // Unmarshall the result to get the endpoint STAFMarshallingContext mc = STAFMarshallingContext.unmarshall( whoamiResult.result); Map whoamiMap = (HashMap)mc.getRootObject(); fSTAXMonitorEndpoint = (String)whoamiMap.get("endpoint"); } splash.close(); getContentPane().add(mainPanel); setTitle("STAX 3 Job Monitor"); pack(); setSize(new Dimension(640, 300)); show(); createStartNewJobDialog(); loadJobParms(fLastJobParmsFileName); registerForJobEvents(); Runnable runnable = new Runnable() {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -