Java weblogic.rjvm.PeerGoneException:;嵌套异常
我使用以下代码使用Java和JMX关闭WebLogic:Java weblogic.rjvm.PeerGoneException:;嵌套异常,java,jmx,weblogic-10.x,weblogic12c,Java,Jmx,Weblogic 10.x,Weblogic12c,我使用以下代码使用Java和JMX关闭WebLogic: MBeanServerConnection connection; JMXConnector connector; ObjectName service = new ObjectName("com.bea:Name=DomainRuntimeService,Type=weblogic.management.mbeanservers.domainruntime.DomainRuntimeSer
MBeanServerConnection connection;
JMXConnector connector;
ObjectName service = new ObjectName("com.bea:Name=DomainRuntimeService,Type=weblogic.management.mbeanservers.domainruntime.DomainRuntimeServiceMBean");
String hostname = "21.231.70.123";
int port = 7001;
String username = "test";
String password = "4r3";
String protocol = "t3";
String jndiroot = "/jndi/";
String mserver = "weblogic.management.mbeanservers.domainruntime";
JMXServiceURL serviceURL = new JMXServiceURL(protocol, hostname, port, jndiroot + mserver);
Hashtable h = new Hashtable();
h.put(Context.SECURITY_PRINCIPAL, username);
h.put(Context.SECURITY_CREDENTIALS, password);
h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "weblogic.management.remote");
connector = JMXConnectorFactory.connect(serviceURL, h);
connection = connector.getMBeanServerConnection();
ObjectName[] serverRT = (ObjectName[]) connection.getAttribute(service, "ServerRuntimes");
for (int i = 0; i < serverRT.length; i++)
{
String name = (String) connection.getAttribute(serverRT[i], "Name");
// if (!name.equals("AdminServer"))
// {
System.out.println("Server Name : " + name + " shutting down");
Object obj = connection.invoke(serverRT[i], "forceShutdown", null, null);
System.out.println("Server Name : " + name + " down now.");
// }
}
connector.close();
你能给我一些建议如何解决这个问题吗
是否有解决此问题的其他解决方案?对此不确定,但在调用
connector.close()
之前,您可能需要等待?代码的第95行是什么?这是第95行connector.close()
,即使出现异常,Weblogic服务器是否也在关闭?是的,它正在关闭。
Running org.weblogic.engine.osgi.impl.eeeeeeeeeTest
Server Name : AdminServer shutting down
Server Name : AdminServer down now.
weblogic.rjvm.PeerGoneException: ; nested exception is:
weblogic.utils.net.SocketResetException
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:223)
at javax.management.remote.rmi.RMIConnectionImpl_1036_WLStub.close(Unknown Source)
at weblogic.management.remote.common.RMIConnectionWrapper.close(ClientProviderBase.java:433)
at javax.management.remote.rmi.RMIConnector.close(RMIConnector.java:505)
at javax.management.remote.rmi.RMIConnector.close(RMIConnector.java:445)
at weblogic.management.remote.common.WLSRMIConnector.doClose(WLSRMIConnector.java:177)
at weblogic.management.remote.common.WLSRMIConnector.access$300(WLSRMIConnector.java:29)
at weblogic.management.remote.common.WLSRMIConnector$3.run(WLSRMIConnector.java:160)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
at weblogic.security.Security.runAs(Security.java:61)
at weblogic.management.remote.common.WLSRMIConnector.close(WLSRMIConnector.java:157)
at org.weblogic.engine.osgi.impl.eeeeeeeeeTest.testConnectionWebLogicShutdown(eeeeeeeeeTest.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at junit.framework.TestCase.runTest(TestCase.java:176)
at junit.framework.TestCase.runBare(TestCase.java:141)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:129)
at junit.framework.TestSuite.runTest(TestSuite.java:252)
at junit.framework.TestSuite.run(TestSuite.java:247)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
Caused by: weblogic.utils.net.SocketResetException
at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:933)
at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:889)
at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:339)
at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)