2012-04-16 2 views
2

JBoss 4.2.2를 실행 중입니다. 나는 모두 올바른 코드를 결정하는 데 노력하고있어 :프로그래밍 방식으로 JBoss 4.2.2 연결 풀 플러시

  1. 는 조회가 org.jboss.resource.connectionmanager.JBossManagedConnectionPool
  2. 플러쉬() 작업을 수행에 풀이했다.

답변이없는 몇 가지 다른 질문을 발견했습니다. 나는 이것이 아직 그들 중 하나가되지 않기를 바라고있다.

지금까지 발견 한 가장 가까운 질문

: 여기 https://community.jboss.org/message/637784

답변

2

는 급히 그루비 예를 사용하여 기본입니다. 먼저 클래스 경로에 jboss-4.2.2/client/jbossall-client.jar이 필요합니다. 다음에는 데이터 소스의 JMX ObjectName이 필요합니다. JMX Console에서 http://localhost:8080/jmx-console/으로 찾거나 배포했으면 도움이 될 수 있습니다. 따라서 ObjectName의 문자열 값은 도메인 + ":"+ 속성입니다. 예를 들어

:

enter image description here

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[]); 
+0

나는 천국을 ' 다른 우선 순위가 나타남에 따라이를 테스트 할 수있었습니다. 그것은 내 대기열에 있지만 나는 그것을 시도해봤을 때 여기에서 다시 원을 돌 것입니다. –

관련 문제