Articles of Java的

你如何保持机器清醒?

我有一个用Java编写的服务器软件,可以在Windows和OS X上运行(它不是在服务器上运行,而是在普通用户的PC上运行,就像一个洪stream客户端一样)。我希望软件能够发出信号到操作系统,以保持机器清醒(防止它进入睡眠模式),而它是活跃的。 当然,我不希望有一个跨平台的解决scheme,但我希望有一些非常小的C程序/脚本,我的应用程序可以产生通知操作系统保持清醒。 有任何想法吗?

如何在Windows上使用另一个用户帐户创build新的进程?

是否有可能使用不同的用户帐户在Windows上创build新的进程? 我知道有一个上下文菜单“运行”,但我想从Java做。 我有用户名和密码。

Grails上的同步块在Windows上工作,但在Linux中没有

我有一个grails应用程序依赖于同步块到服务。 当我在Windows上运行它时,同步按预期工作,但是当我在ams linux上运行时,得到一个StaleObjectStateExceptionexception。 在下面的例子中重现了这个问题。 class TestService { private final Object $lock = new Object[0]; TesteSync incrementa() { synchronized ($lock) { TesteSync t = TesteSync.findById(1) t.contador++ t.save(flush: true) Thread.sleep(10000) return t } } } 在我的理解,这种exception发生,因为多个线程正试图保存相同的对象。 这就是为什么我使用同步块。 Linux的Java: java版本“1.7.0_85” OpenJDK运行时环境(amzn-2.6.1.3.61.amzn1-x86_64 u85-b01) OpenJDK 64位服务器虚拟机(内置24.85-b03,混合模式) Windows的Java: java版本“1.7.0_79” Java(TM)SE运行时环境(build 1.7.0_79-b15) Java HotSpot(TM)64位服务器虚拟机(构build24.79-b02,混合模式) 任何线索? 谢谢

Java代码来执行.sh文件

我有一个.sh文件存储在一些Linux系统。 该文件的完整path是: /comviva/CPP/Kokila/TransactionHandler/scripts/stopTH.sh 我正在努力执行它 Runtime.getRuntime().exec(`/comviva/CPP/Kokila/TransactionHandler/scripts/stopTH.sh`) 但它是抛出一些例外。 我想在我的Java程序在MS-Windows环境中执行该文件; 可能吗?

连接到在Docker中运行的HBase

我无法连接到在Windows上运行Docker的HBase( banno / hbase-standalone image)。 不过,我可以连接到本地安装的HBase。 banno / hbase-standalone映像运行使用: docker run -d -p 2181:2181 -p 60000:60000 -p 60010:60010 -p 60020:60020 -p 60030:60030 banno/hbase-standalone 我还在boot2docker-vm上设置了端口转发(在Windows上运行时需要): 我可以成功地telnet到我的本地主机上的所有端口。 接下来,这里是我们在testing中使用的一个代码示例: Configuration config = HBaseConfiguration.create(); config.clear(); config.setInt("timeout", 12000); config.set("zookeeper.znode.parent", "/hbase"); config.set("hbase.zookeeper.quorum", "127.0.0.1"); config.set("hbase.zookeeper.property.clientPort", "2181"); config.set("hbase.master", "127.0.0.1:60000"); final Configuration configuration = HBaseConfiguration.create(config); JobDefinition.Buildable.dumpProperties(configuration, newArrayList("hbase.*")); HBaseAdmin.checkHBaseAvailable(config); 这导致以下exception Exception in thread "main" org.apache.hadoop.hbase.MasterNotRunningException: […]

从NSIS中检测已经运行的Java应用程序

是的,这是很好的文件如何得到你的应用程序的exe文件的名称,看看它是否正在运行。 当有问题的应用程序是一个Java应用程序,正在运行的exe文件将始终是java.exe,所以这个方法是平坦的,因为可以有任何数量的java应用程序当前运行,所有java应用程序启动。 每个命令行参数都会有所不同,包括主类名称。 我需要知道的命令行参数为java.exe,所以我可以知道,只有一个说java.exe MyProgram将被终止。 我如何在NSIS中做到这一点?

是否有可能在Windows批处理或Java中写一个Tee?

我有一个在Windows 7控制台中运行的Java程序: java -classpath classfolder mypackage.MyProgram 这个程序运行时间很长。 它一次一次地使用System.out.println将输出写入控制台。 是否有可能直接输出到控制台和实时日志文件,而无需修改现有的Java代码? 如果Windows 7无法做到这一点,是否有可能在Java中编写Tee实用程序? 它在Windows 8中解决?

如何连接到Windows上的ODBC数据库?

我想使用Java / .NET连接到ODBC数据库。 当我尝试连接到数据库时,出现如下错误: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 为什么是这样? 我能做些什么来使连接成功?

Windows上的System.err在哪里?

我有一个基于Java GUI的应用程序,它将一些诊断消息写入System.out和System.err。 在Windows上运行时,这些消息在哪里输出? (例如,在Mac OS X上,它们被打印到系统控制台日志中。) 编辑 我应该补充说,Java应用程序打包成.exe,所以(现在)我不能启动它使用java 。 (我想可以将单个.JAR文件复制到Windowstesting机器上。) 另外,这是我inheritance的一个应用程序,之前没有使用日志框架。 我想修改它使用一个,但我希望能够快速获得一些日志输出来诊断问题。

为什么我的客户端套接字不能连接到我的ServerSocket?

在这个非常基本的客户端/服务器套接字程序中,为什么我的客户端套接字从不连接并抛出java.net.ConnectException ? 我在一台计算机上运行MessageServer程序,在同一networking上的另一台笔记本电脑上运行ClientServer程序。 我已经validation,正在运行服务器程序的计算机的本地IP是10.0.0.1在该计算机上的Windows cmd中使用ipconfig命令。 服务器: package server; import java.net.*; import java.io.*; public class MessageServer { public static void main(String args[]) { ServerSocket serverSocket = null; try { serverSocket = new ServerSocket(4302); } catch (Exception e) { System.out.println("well bad news…"); } boolean noConnection = true; while(noConnection == true) { try { Socket client = serverSocket.accept(); […]