ja我想实现这样一个功能:
在java中调用dos命令实现重启weblogic8.1现在我尝试用java调用一个批处理关闭weblogic8.1
然后再调用一个批处理启动weblogic8.1
可是调用关闭的批处理的时候总是不成功,好像是要求 有正确的 用户名和密码才能关闭但是直接双击关闭weblogic的批处理 就可以关闭weblogic8.1
调用启动weblogic的批处理 可以启动weblogic8.1,但是看不到启动后的dos界面
在java中调用dos命令实现重启weblogic8.1现在我尝试用java调用一个批处理关闭weblogic8.1
然后再调用一个批处理启动weblogic8.1
可是调用关闭的批处理的时候总是不成功,好像是要求 有正确的 用户名和密码才能关闭但是直接双击关闭weblogic的批处理 就可以关闭weblogic8.1
调用启动weblogic的批处理 可以启动weblogic8.1,但是看不到启动后的dos界面
启动看不到界面你可以试试用 call xx.bat 或在写个bat调启动weblogic的批处理 至于关闭可能是出于安全考虑你应该kill掉weblogic进程
用call xx.bat 或者bat都不管用
@REM Any changes to this script may be lost when adding extensions to this configuration.SETLOCAL@REM *************************************************************************
@REM This script is used to stop WebLogic Server created by Config Wizard
@REM Usage: stopWebLogic [username] [password] [server-name] [admin-url]
@REM The default value of server-name is myserver
@REM The default value of admin-url is t3:\\localhost:80
@REM For additional information, refer to the WebLogic Server Administration
@REM Console Online Help(http:\\e-docs.bea.com\wls\docs81\ConsoleHelp\startstop.html)
@REM *************************************************************************if NOT "%1"=="" (
set UIDPWD=-username %1
shift
)if NOT "%1"=="" (
set UIDPWD=%UIDPWD% -password %1
shift
)if ""=="true" (
if "%UIDPWD%"=="" (
echo ERROR: Because your domain was created as a production mode domain.
echo You MUST include a username parameter that can be used to shutdown Weblogic Server
pause
GOTO :EOF
)
)@REM set server nameset SERVER_NAME=myserverif NOT "%1"=="" (
set SERVER_NAME=%1
shift
)if "%SERVER_NAME%"=="" (
echo ERROR: Missing Server Name.
echo Usage: stopWebLogic.cmd^(sh^) [username] [password] [server-name] [admin-url]
pause
GOTO :EOF
)@REM set ADMIN_URLif NOT "%1"=="" (
set ADMIN_URL=%1
shift
) else (
if "%ADMIN_URL%"=="" (
set ADMIN_URL=t3://127.0.0.1:80
)
)@REM Call commEnv here.call "D:\bea\weblogic81\common\bin\commEnv.cmd"echo Stopping Weblogic Server...%JAVA_HOME%\bin\java -cp %WEBLOGIC_CLASSPATH% weblogic.Admin FORCESHUTDOWN -url %ADMIN_URL% %UIDPWD% %SERVER_NAME% 2>&1 echo DoneENDLOCALexit======================================
以上是我的stopWebLogic.cmd中的内容,请高手指点一下,直接双击关闭这个批处理 就可以关闭weblogic8.1,但是在java中总是不能成功调用
java中代码如下:
public void restartWeblogic() {
String cmdText1="cmd.exe /c ";
cmdText1 = cmdText1
+ " D:\\bea\\user_projects\\domains\\mydomain\\stopWebLogic.cmd";
+ " java weblogic.Admin -url t3://127.0.0.1:80 -username weblogic -password weblogic FORCESHUTDOWN myserver";
Process process;
String msg;
process = Runtime.getRuntime().exec(cmdText);
BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(process.getInputStream()));
while ( (msg=bufferedReader.readLine()) != null)
System.out.println(msg);
process.waitFor();
}
1.如果用蓝色的那句程序运行将提示如下信息:
Stopping Weblogic Server...
WebLogic Server ,需要有效的用户名和密码执行命令。请再试行。
使用例子: java [<SSL trust options>][<boot identity options>] weblogic.Admin [[-url |-adminurl]
[<protocol>://]<listen-address>:<port>]-username <username>[-password <password> FORCESHUTDOWN [<targetServer>]各值的说明如下。
<targetServer>= 关闭服务器的名字。指定的值不存在的情况,这个指令关闭用 -url 参数指定了的服务器 。 2.如果用红色的那句调用的时候什么反应也没有。