本文整理汇总了Java中it.sauronsoftware.junique.AlreadyLockedException类的典型用法代码示例。如果您正苦于以下问题:Java AlreadyLockedException类的具体用法?Java AlreadyLockedException怎么用?Java AlreadyLockedException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
AlreadyLockedException类属于it.sauronsoftware.junique包,在下文中一共展示了AlreadyLockedException类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: init
import it.sauronsoftware.junique.AlreadyLockedException; //导入依赖的package包/类
@Override
public void init() throws AlreadyLockedException, IOException {
try {
JUnique.acquireLock(getClass().getCanonicalName(), message -> {
onOtherAppStart.run();
return null;
});
} catch (AlreadyLockedException alreadyLockedException) {
JUnique.sendMessage(getClass().getCanonicalName(), "alreadyRunning");
throw alreadyLockedException;
}
// Set up the loggers
setupLoggers();
// Install SVG image loaders so SVGs can be used like any other image
SvgImageLoaderFactory.install();
// Search for and load themes from the custom theme directory before loading application preferences
// This avoids an issue with attempting to load a theme at startup that hasn't yet been registered
logger.finer("Registering custom user themes from external dir");
Themes.getDefault().loadThemesFromDir();
}
示例2: start
import it.sauronsoftware.junique.AlreadyLockedException; //导入依赖的package包/类
@Override
public Object start(IApplicationContext appContext) throws Exception {
try {
lockApp();
} catch (AlreadyLockedException e) {
focusApp();
return EXIT_OK;
}
assignPlatformLocation();
try {
return super.start(appContext);
} finally {
JUnique.releaseLock(MODELER_APPLICATION_ID);
}
}
示例3: main
import it.sauronsoftware.junique.AlreadyLockedException; //导入依赖的package包/类
public static void main(String[] args) {
boolean isRunning = false;
Logger.EnableLogging();
try
{
JUnique.acquireLock(name);
}
catch (AlreadyLockedException e)
{
isRunning = true;
}
if (!isRunning)
{
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
BVS gui = new BVS();
gui.start();
}
});
}
else
{
Logger.LogError("There is already an instance of BVS running. Exiting.");
}
}
示例4: postContextCreate
import it.sauronsoftware.junique.AlreadyLockedException; //导入依赖的package包/类
@PostContextCreate
void postContextCreate(IApplicationContext context, Display display,
final IEventBroker broker, final INxtService nxt, IWallet wallet,
UISynchronize sync, IUserService userService, IDataProviderPool pool) {
logger.info("LifeCycleManager.postContextCreate");
String appId = "com.dgex.offspring.application.lifecycle.LifeCycleManager";
boolean alreadyRunning;
try {
JUnique.acquireLock(appId);
alreadyRunning = false;
}
catch (AlreadyLockedException e) {
alreadyRunning = true;
}
if (alreadyRunning) {
File home = new File(System.getProperty("user.home") + File.separator
+ ".junique");
MessageDialog
.openWarning(
display.getActiveShell(),
"Offspring Already Running",
"Offspring is already running.\n\n"
+ "If you keep seeing this dialog close Offspring with your taskmanager.\n\n"
+ "Cannot find Offspring in your taskmanager?\n"
+ "Then delete this folder " + home.getAbsolutePath());
System.exit(0);
return;
}
context.applicationRunning();
final LoginDialog loginDialog = new LoginDialog(Display.getCurrent()
.getActiveShell(), wallet);
loginDialog.setBlockOnOpen(true);
if (loginDialog.open() != Window.OK)
System.exit(0);
/* Must re-initialize if user selected to use test net (write new config) */
if (Config.nxtIsTestNet) {
Config.initialize();
}
}
示例5: lockApp
import it.sauronsoftware.junique.AlreadyLockedException; //导入依赖的package包/类
private void lockApp() throws AlreadyLockedException {
JUnique.acquireLock(MODELER_APPLICATION_ID, new FocusHandler());
}