Использование JMX для чтения файла манифеста ejb и файла ejb-jar.xml в банке ejb внутри уха

У меня есть ухо, развернутое на консоли weblogic. Мне нужно проверить содержимое файла манифеста и ejb-jar.xml банки, которая присутствует в развернутом ухе.

В настоящее время я использую приведенный ниже код для доступа к развернутой банке внутри уха:

Hashtable env = new Hashtable(5);
env.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
env.put(Context.PROVIDER_URL,
url);
env.put(Context.SECURITY_PRINCIPAL, user);
env.put(Context.SECURITY_CREDENTIALS, password);
Context ctx = new InitialContext(env);
mBeanHome = (MBeanHome)ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);

String type = "EJBComponentRuntime"; 
Set beans = mBeanHome.getMBeansByType(type); 



try{
for(Iterator it=beans.iterator();it.hasNext();)
{ 
EJBComponentRuntimeMBean rt = (EJBComponentRuntimeMBean)it.next(); 

if(rt.getParent().getName().equals("xxx")){
System.out.println(rt.getName());
l.add(rt.getName());

Здесь xxx - ухо. Теперь мне нужно попасть внутрь банки (представленной) переменной «rt» и получить доступ к ее файлу манифеста, ejb-jar.xml

Есть у кого-нибудь идеи, как это сделать? Я понимаю, что мы можем получить доступ к файлам манифеста с помощью jarinputstream. Однако как мне получить этот поток?

С уважением, Самир


person user179056    schedule 07.09.2010    source источник


Ответы (1)


Вы можете использовать что-то вроде

InputStream is = this.getClass().getClassLoader().getResourceAsStream("jarfile.jar/META-INF/ejb-jar.xml");

где jarfile.jar присутствует в ухе.

person Nickolay    schedule 15.12.2010