jkffactory.java
来自「主要是对串口驱动的的一些控制源码!!! 在下载javacomm20-win32」· Java 代码 · 共 146 行
JAVA
146 行
/**
* $Log: JKFFactory.java,v $
* Revision 1.3 2003/03/20 14:14:15 mwulff
* added an error dialog, that is displayed if the initial server connect failed
*
* Revision 1.2 2003/03/12 15:04:07 willaxt
* added javadoc comment
*
* Revision 1.1 2003/01/16 13:12:40 mwulff
* initial version
*
* Revision 1.3 2002/12/20 18:52:25 mwulff
* no message
*
* Revision 1.2 2002/12/15 16:55:07 mwulff
* adjusted to reorganisation of the client logging system
*
* Revision 1.1 2002/12/13 20:08:22 mwulff
* no message
*
*/
package de.fhm.jkf.comm.cl;
import javax.swing.JOptionPane;
import de.fhm.jkf.resource.cl.JKFClientLogger;
/**
* <br><br><center><table border="1" width="80%"><hr>
* <strong><a href="http://jkf.sourceforge.net">The JKF Project</a></strong>
* <p>
* Copyright (C) 2002 by Marten Wulff
* <p>
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* <p>
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* <p>
* You should have received a copy of the <a href="http://www.gnu.org/copyleft/lesser.html">
* GNU Lesser General Public License</a> along with this library; if not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
* <hr></table></center>
*
*
* Factory class to retrieve an <code>ObjectFactry</code>.
*
* @author marten wulff
* @version 1.0
*
* @stereotype singleton
*/
public class JKFFactory {
private static JKFFactory instance = null;
private static Object semaphore = new Object();
private static final String ERROR_MESSAGE =
"Server is unreachable.\n Please contact your system administrator for further help.\n Shutting down !!";
/**
* Constructor for JKFFactory.
*/
private JKFFactory() {
super();
// configure the jkf framework
configure();
}
/**
* Method for getting a reference to this singleton class.
*
* @return JKFFactory a reference
*/
public static JKFFactory instance() {
if (instance == null) {
synchronized (semaphore) {
if (instance == null) {
instance = new JKFFactory();
}
}
}
return instance;
}
/**
* Method for retrieving an <code>ObjectFactory</code>
*
* @return ObjectFactory the factory
*/
public ObjectFactory getFactory() {
return new ObjectFactoryImpl();
}
/**
* Method for configuring the jkf communication component.
* The user is registered at the server and the session info
* retrieved as response is stored by the SessionManager. If
* no connection to the server could be established, the application
* is quited due to a call to <code>System.exit(-1)</code>!
*/
private void configure() {
try {
if (JKFClientLogger.isDebugEnabled()) {
JKFClientLogger.debug("Performing user registration ...");
}
UserRegistrator registrator = new UserRegistrator();
// make the inital request
registrator.registerUser();
if (JKFClientLogger.isDebugEnabled()) {
JKFClientLogger.debug("Inital server connect done ...");
}
if (JKFClientLogger.isDebugEnabled()) {
JKFClientLogger.debug("Starting SessionKeepAliveRunner ...");
}
// start the keep alive runner
Thread t = new Thread(new SessionKeepAliveRunner());
t.start();
if (JKFClientLogger.isDebugEnabled()) {
JKFClientLogger.debug("SessionKeepAliveRunner started ...");
}
} catch (Exception ex) {
JKFClientLogger.fatal(
"[jkf] Error performing inital server connect...",
ex);
JKFClientLogger.fatal("Shutting down ...");
JOptionPane.showMessageDialog(null, ERROR_MESSAGE);
System.exit(-1);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?