는 급히 그루비 예를 사용하여 기본입니다. 먼저 클래스 경로에 jboss-4.2.2/client/jbossall-client.jar이 필요합니다. 다음에는 데이터 소스의 JMX ObjectName이 필요합니다. JMX Console에서 http://localhost:8080/jmx-console/으로 찾거나 배포했으면 도움이 될 수 있습니다. 따라서 ObjectName의 문자열 값은 도메인 + ":"+ 속성입니다. 예를 들어
:
ObjectName을은 : jboss.jca 이름 = DefaultDS, 서비스 = ManagedConnectionPool.
다음으로 JNDI에서 RMIAdaptor를 찾으십시오. 이것은 플러시 작업을 대상 MBean에서 호출 할 수있게 해주는 MBeanServer 인터페이스입니다. 그런 다음 호출을 호출하십시오. 그게 전부 야.
import javax.management.*;
import javax.naming.*;
p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
p.put(Context.PROVIDER_URL, "localhost:1099");
ctx = new InitialContext(p);
rmiAdaptor = ctx.lookup("jmx/rmi/RMIAdaptor");
rmiAdaptor.invoke(new ObjectName("jboss.jca:name=DefaultDS,service=ManagedConnectionPool"), "flush", [] as Object[], [] as String[]);
의미가 있습니까?
===== 업데이트 ===== 당신이 JBoss의 JVM 내부에서이 작업을 실행하는 경우
, 당신은 JNDI 설정이 필요하지 않습니다 :
import javax.management.*;
import org.jboss.mx.util.MBeanServerLocator;
MBeanServer server = MBeanServerLocator.locateJBoss();
server.invoke(new ObjectName("jboss.jca:name=DefaultDS,service=ManagedConnectionPool"), "flush", [] as Object[], [] as String[]);
나는 천국을 ' 다른 우선 순위가 나타남에 따라이를 테스트 할 수있었습니다. 그것은 내 대기열에 있지만 나는 그것을 시도해봤을 때 여기에서 다시 원을 돌 것입니다. –