は急ごしらえグルーヴィーな例を使用して基本です。 まず、クラスパスに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を調べます。これは、のflush操作をターゲット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[]);
Iの避難所を」他の優先事項が現れたので、これをテストすることができました。それは私の待ち行列にあります、そして、私はそれを試してみましたが、私はここに戻ってくるでしょう。 –