目前我正在尝试从java应用程序启动openshift云实例。 为了实现这一点,我创建了一个包含以下命令的shellscript(openshiftBoot.sh):
<code>
echo "Booting $1"
rhc create-app $1 jbossas
</code>
在我的java代码中,我使用以下内容:
<code>
try {
ProcessBuilder pb = new ProcessBuilder("/bin/bash",
"/Users/..../bootscripts/openshiftBoot.sh", "test");
final Process process = pb.start();
System.out.println(pb.environment());
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
PrintWriter pw = new PrintWriter(process.getOutputStream());
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
pw.flush();
}
System.out.println("Program terminated!");
} catch(Exception e) {
e.printStackTrace();
}
</code>
在eclipse中,代码立即“执行”并完成,而无需启动新的openshift实例。看起来他只是跳过了rhc命令。
在Intelij,一切似乎都很完美。
你们中的任何人都知道我在日食中做错了吗?
提前致谢!
柯恩
答案 0 :(得分:0)
为什么不尝试使用OpenShift Java客户端(https://github.com/openshift/openshift-java-client)而不是执行shell脚本?这是Eclipse和JBoss Developer Studio中的JBoss Tools使用的库。您可以在此处阅读有关如何使用OpenShift Java客户端的更多信息(http://openshift.github.io/openshift-java-client/)