Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 82474 invoked from network); 18 Oct 2007 02:37:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 18 Oct 2007 02:37:29 -0000 Received: (qmail 17404 invoked by uid 500); 18 Oct 2007 02:37:17 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 17387 invoked by uid 500); 18 Oct 2007 02:37:17 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 17376 invoked by uid 99); 18 Oct 2007 02:37:17 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Oct 2007 19:37:17 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 18 Oct 2007 02:37:18 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 5148E1A9832; Wed, 17 Oct 2007 19:36:28 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r585796 - in /geronimo/sandbox/monitoring/mrc-server: ./ mrc-ear/src/main/resources/ mrc-ear/src/main/resources/META-INF/ mrc-ejb/src/main/java/org/apache/geronimo/monitor/ mrc-ejb/src/main/resources/ mrc-ejb/src/main/resources/META-INF/ Date: Thu, 18 Oct 2007 02:36:27 -0000 To: scm@geronimo.apache.org From: akulshreshtha@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071018023628.5148E1A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: akulshreshtha Date: Wed Oct 17 19:36:26 2007 New Revision: 585796 URL: http://svn.apache.org/viewvc?rev=585796&view=rev Log: GERONIMO-3535 Monitoring Plugin : security, Patch by Viet H. Nguyen Added: geronimo/sandbox/monitoring/mrc-server/mrc-ear/src/main/resources/MonitorDBPool.xml (with props) geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/MasterRemoteControlRemote.java (with props) geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/resources/ geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/resources/META-INF/ geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/resources/META-INF/openejb-jar.xml (with props) Removed: geronimo/sandbox/monitoring/mrc-server/mrc-server-ear-1.0-SNAPSHOT.ear Modified: geronimo/sandbox/monitoring/mrc-server/mrc-ear/src/main/resources/META-INF/geronimo-application.xml geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/MasterRemoteControl.java geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/SMP.java Modified: geronimo/sandbox/monitoring/mrc-server/mrc-ear/src/main/resources/META-INF/geronimo-application.xml URL: http://svn.apache.org/viewvc/geronimo/sandbox/monitoring/mrc-server/mrc-ear/src/main/resources/META-INF/geronimo-application.xml?rev=585796&r1=585795&r2=585796&view=diff ============================================================================== --- geronimo/sandbox/monitoring/mrc-server/mrc-ear/src/main/resources/META-INF/geronimo-application.xml (original) +++ geronimo/sandbox/monitoring/mrc-server/mrc-ear/src/main/resources/META-INF/geronimo-application.xml Wed Oct 17 19:36:26 2007 @@ -24,11 +24,16 @@ - a - a - 2.0-SNAPSHOT + ${pom.groupId} + ${pom.artifactId} + 1.0-SNAPSHOT ear + + tranql-connector-ra-1.3.rar + MonitorDBPool.xml + + Added: geronimo/sandbox/monitoring/mrc-server/mrc-ear/src/main/resources/MonitorDBPool.xml URL: http://svn.apache.org/viewvc/geronimo/sandbox/monitoring/mrc-server/mrc-ear/src/main/resources/MonitorDBPool.xml?rev=585796&view=auto ============================================================================== --- geronimo/sandbox/monitoring/mrc-server/mrc-ear/src/main/resources/MonitorDBPool.xml (added) +++ geronimo/sandbox/monitoring/mrc-server/mrc-ear/src/main/resources/MonitorDBPool.xml Wed Oct 17 19:36:26 2007 @@ -0,0 +1,60 @@ + + + + + console.dbpool + MonitoringDBPools + 1.0 + rar + + + + org.apache.geronimo.configs + system-database + 2.1-SNAPSHOT + car + + + + + + + + javax.sql.DataSource + + ActiveDBPool + monitor + monitor + jdbc:derby:ActiveDB;create=true + + + + 10 + 0 + + + + + + + + + javax.sql.DataSource + + ArchiveDBPool + monitor + jdbc:derby:ArchiveDB;create=true + monitor + + + + 10 + 0 + + + + + + + + Propchange: geronimo/sandbox/monitoring/mrc-server/mrc-ear/src/main/resources/MonitorDBPool.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: geronimo/sandbox/monitoring/mrc-server/mrc-ear/src/main/resources/MonitorDBPool.xml ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: geronimo/sandbox/monitoring/mrc-server/mrc-ear/src/main/resources/MonitorDBPool.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Modified: geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/MasterRemoteControl.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/MasterRemoteControl.java?rev=585796&r1=585795&r2=585796&view=diff ============================================================================== --- geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/MasterRemoteControl.java (original) +++ geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/MasterRemoteControl.java Wed Oct 17 19:36:26 2007 @@ -19,8 +19,14 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; +import java.util.Properties; import java.util.Set; +import javax.annotation.security.RolesAllowed; +import javax.annotation.security.RunAs; +import javax.ejb.Remote; +import javax.ejb.Stateful; + import javax.management.Attribute; import javax.management.MBeanServer; import javax.management.MBeanServerFactory; @@ -51,11 +57,16 @@ import org.apache.geronimo.monitor.snapshot.SnapshotThread; import org.apache.geronimo.monitor.snapshot.SnapshotXMLBuilder; import org.apache.geronimo.monitor.snapshot.SnapshotConfigXMLBuilder; + /** - * This is the GBean that will be the bottleneck for the communication + * This is a Stateful Session Bean that will be the bottleneck for the communication * between the management node and the data in the server node. */ -public class MasterRemoteControl implements GBeanLifecycle { +@RolesAllowed("mejbadmin") +@Stateful(name="ejb/mgmt/MRC") +@Remote(MasterRemoteControlRemote.class) +@RunAs("mejbadmin") +public class MasterRemoteControl { // constants private static final String GERONIMO_DEFAULT_DOMAIN = "geronimo"; private static final Long DEFAULT_DURATION = new Long(300000); @@ -91,12 +102,28 @@ if(mbServer == null) { mbServer = MBeanServerFactory.createMBeanServer(GERONIMO_DEFAULT_DOMAIN); } - // instantiate the MEJB, which will be out gateway to communicate to MBeans - - // instantiate teh mbean helper to query mbean names mbeanHelper = new MBeanHelper(); } + + @RolesAllowed("mejbadmin") + public void setUpMEJB() { + // instantiate the MEJB, which will be our gateway to communicate to MBeans + try { + Properties p = new Properties(); + p.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.openejb.client.LocalInitialContextFactory"); + InitialContext ctx = new InitialContext(p); + + ManagementHome mejbHome = (ManagementHome)ctx.lookup("ejb/mgmt/MEJBRemoteHome"); + mejb = mejbHome.create(); + // Uncomment to see if mejb is working well + //System.out.println("SUCCESS!"); + //System.out.println("MEJB Default Domain: " + mejb.getDefaultDomain()); + //System.out.println("MEJB Count: " + mejb.getMBeanCount()); + } catch(Exception e) { + e.printStackTrace(); + } + } /** * Looks up the JSR-77 statistics associated with this object name. @@ -105,6 +132,7 @@ * @return HashMap * @throws Exception */ + @RolesAllowed("mejbadmin") public static HashMap getStats(String objectName) throws Exception { HashMap statsMap = new HashMap(); Stats stats = (Stats)mejb.getAttribute(new ObjectName(objectName), "stats"); @@ -155,6 +183,7 @@ * @param attrValue * @throws Exception */ + @RolesAllowed("mejbadmin") public void setAttribute(String objectName, String attrName, Object attrValue) throws Exception { Attribute attr = new Attribute(attrName, attrValue); mejb.setAttribute(new ObjectName(objectName), attr); @@ -168,6 +197,7 @@ * * @param interval */ + @RolesAllowed("mejbadmin") public boolean startSnapshot(Long interval) { if((snapshotThread == null || (snapshotThread != null && !snapshotThread.isAlive())) && interval.longValue() > 0) { @@ -184,6 +214,7 @@ /** * Stops the snapshot thread */ + @RolesAllowed("mejbadmin") public boolean stopSnapshot() { if(snapshotThread != null) { if(snapshotThread.getSnapshotDuration() == Long.MAX_VALUE) { @@ -214,6 +245,7 @@ * @param everyNthSnapshot * @return ArrayList */ + @RolesAllowed("mejbadmin") public ArrayList fetchSnapshotData(Integer numberOfSnapshot, Integer everyNthSnapshot) { SnapshotXMLBuilder snapshotXMLBuilder = new SnapshotXMLBuilder(); snapshotXMLBuilder.openDocument(); @@ -229,6 +261,7 @@ * @param numberOfSnapshot * @return HashMap */ + @RolesAllowed("mejbadmin") public HashMap fetchMaxSnapshotData(Integer numberOfSnapshot) { SnapshotXMLBuilder snapshotXMLBuilder = new SnapshotXMLBuilder(); snapshotXMLBuilder.openDocument(); @@ -244,6 +277,7 @@ * @param numberOfSnapshot * @return HashMap */ + @RolesAllowed("mejbadmin") public HashMap fetchMinSnapshotData(Integer numberOfSnapshot) { SnapshotXMLBuilder snapshotXMLBuilder = new SnapshotXMLBuilder(); snapshotXMLBuilder.openDocument(); @@ -257,6 +291,7 @@ * * @return Long */ + @RolesAllowed("mejbadmin") public Long getSnapshotDuration() { if(snapshotThread != null) { return new Long(snapshotThread.getSnapshotDuration()); @@ -270,6 +305,7 @@ * * @param snapshotDuration */ + @RolesAllowed("mejbadmin") public void setSnapshotDuration(Long snapshotDuration) { if(snapshotThread != null) { snapshotThread.setSnapshotDuration(snapshotDuration.longValue()); @@ -279,6 +315,7 @@ } } + @RolesAllowed("mejbadmin") public Long getSnapshotCount() { return SnapshotXMLBuilder.getSnapshotCount(); } @@ -289,6 +326,7 @@ * @return A set containing all mbean names of mbeans that provide * statistics */ + @RolesAllowed("mejbadmin") public Set getStatisticsProviderMBeanNames() { return mbeanHelper.getStatsProvidersMBeans( getAllMBeanNames() ); } @@ -298,6 +336,7 @@ * * @return A set containing all mbean names */ + @RolesAllowed("mejbadmin") public Set getAllMBeanNames() { try { return (Set)mejb.queryNames(null, null); @@ -328,10 +367,12 @@ stopSnapshot(); } + @RolesAllowed("mejbadmin") private void saveDuration(long duration) { SnapshotConfigXMLBuilder.save(duration); } + @RolesAllowed("mejbadmin") private Long fetchSnapshotDuration() { final String DURATION = "duration"; try { @@ -348,6 +389,7 @@ * * @param mbeanName */ + @RolesAllowed("mejbadmin") public void addMBeanForSnapshot(String mbeanName) { SnapshotConfigXMLBuilder.addMBeanName(mbeanName); snapshotThread.addMBeanForSnapshot(mbeanName); @@ -359,6 +401,7 @@ * * @param mbeanName */ + @RolesAllowed("mejbadmin") public void removeMBeanForSnapshot(String mbeanName) { SnapshotConfigXMLBuilder.removeMBeanName(mbeanName); snapshotThread.removeMBeanForSnapshot(mbeanName); @@ -367,6 +410,7 @@ /** * @return A map: mbeanName --> ArrayList of statistic attributes for that mbean */ + @RolesAllowed("mejbadmin") public HashMap> getAllSnapshotStatAttributes() { return SnapshotXMLBuilder.getAllSnapshotStatAttributes(); } @@ -374,36 +418,9 @@ /** * @return Returns true if snapshot is running. */ + @RolesAllowed("mejbadmin") public boolean isSnapshotRunning() { // snapshot is running when the duration is not infinity return !snapshotThread.getEnd(); - } - - public static final GBeanInfo GBEAN_INFO; - - static { - GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic("MasterRemoteControl", MasterRemoteControl.class); - infoFactory.addOperation("getStats", new Class[] {String.class}, "HashMap"); - infoFactory.addOperation("setAttribute", new Class[] {String.class, String.class, Object.class}, "void"); - infoFactory.addOperation("startSnapshot", new Class[] {Long.class}, "boolean"); - infoFactory.addOperation("stopSnapshot", new Class[] {}, "boolean"); - infoFactory.addOperation("fetchSnapshotData", new Class[] {Integer.class, Integer.class}, "ArrayList"); - infoFactory.addOperation("fetchMaxSnapshotData", new Class[] {Integer.class}, "HashMap"); - infoFactory.addOperation("fetchMinSnapshotData", new Class[] {Integer.class}, "HashMap"); - infoFactory.addOperation("getSnapshotDuration", new Class[] {}, "Long"); - infoFactory.addOperation("getSnapshotCount", new Class[] {}, "Long"); - infoFactory.addOperation("setSnapshotDuration", new Class[] {Long.class}, "void"); - infoFactory.addOperation("getStatisticsProviderMBeanNames", new Class[] {}, "Set"); - infoFactory.addOperation("getAllMBeanNames", new Class[] {}, "Set"); - infoFactory.addOperation("getAllSnapshotStatAttributes", new Class[] {}, "HashMap"); - infoFactory.addOperation("addMBeanForSnapshot", new Class[] {String.class}, "void"); - infoFactory.addOperation("removeMBeanForSnapshot", new Class[] {String.class}, "void"); - infoFactory.addOperation("isSnapshotRunning", new Class[] {}, "boolean"); - infoFactory.setConstructor(new String[] {}); - GBEAN_INFO = infoFactory.getBeanInfo(); - } - - public static GBeanInfo getGBeanInfo() { - return GBEAN_INFO; } } Added: geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/MasterRemoteControlRemote.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/MasterRemoteControlRemote.java?rev=585796&view=auto ============================================================================== --- geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/MasterRemoteControlRemote.java (added) +++ geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/MasterRemoteControlRemote.java Wed Oct 17 19:36:26 2007 @@ -0,0 +1,69 @@ +package org.apache.geronimo.monitor; + +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Set; + +import javax.annotation.security.RolesAllowed; +import javax.ejb.Remote; + +/** + * Remote Interface for MasterRemoteControl. Defines the operations + * that are made available to the remote client. + */ +@Remote +public interface MasterRemoteControlRemote { + + @RolesAllowed("mejbadmin") + public HashMap getStats(String s) throws Exception; + @RolesAllowed("mejbadmin") + public void setAttribute(String s, String ss, Object o) throws Exception; + @RolesAllowed("mejbadmin") + public boolean startSnapshot(Long l); + @RolesAllowed("mejbadmin") + public boolean stopSnapshot(); + @RolesAllowed("mejbadmin") + public ArrayList fetchSnapshotData(Integer i, Integer ii); + @RolesAllowed("mejbadmin") + public HashMap fetchMaxSnapshotData(Integer i); + @RolesAllowed("mejbadmin") + public HashMap fetchMinSnapshotData(Integer i); + @RolesAllowed("mejbadmin") + public Long getSnapshotDuration(); + @RolesAllowed("mejbadmin") + public Long getSnapshotCount(); + @RolesAllowed("mejbadmin") + public void setSnapshotDuration(Long l); + @RolesAllowed("mejbadmin") + public Set getStatisticsProviderMBeanNames(); + @RolesAllowed("mejbadmin") + public Set getAllMBeanNames(); + @RolesAllowed("mejbadmin") + public HashMap getAllSnapshotStatAttributes(); + @RolesAllowed("mejbadmin") + public void addMBeanForSnapshot(String s); + @RolesAllowed("mejbadmin") + public void removeMBeanForSnapshot(String s); + @RolesAllowed("mejbadmin") + public boolean isSnapshotRunning(); + @RolesAllowed("mejbadmin") + public void setUpMEJB(); + +} Propchange: geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/MasterRemoteControlRemote.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/MasterRemoteControlRemote.java ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/MasterRemoteControlRemote.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/SMP.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/SMP.java?rev=585796&r1=585795&r2=585796&view=diff ============================================================================== --- geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/SMP.java (original) +++ geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/java/org/apache/geronimo/monitor/SMP.java Wed Oct 17 19:36:26 2007 @@ -21,6 +21,7 @@ import java.util.Iterator; import java.util.HashMap; import java.util.Hashtable; +import java.util.Properties; import java.util.Set; import javax.management.MBeanServerConnection; @@ -32,15 +33,22 @@ import javax.management.remote.JMXServiceURL; import javax.management.remote.JMXConnector; import javax.management.remote.JMXConnectorFactory; +import javax.naming.Context; +import javax.naming.InitialContext; import org.apache.geronimo.gbean.AbstractName; import org.apache.geronimo.management.stats.StatisticImpl; +import org.apache.geronimo.monitor.MasterRemoteControlRemote; + +import javax.management.j2ee.ManagementHome; +import javax.management.j2ee.Management; public class SMP { private static final String PATH = "geronimo:ServiceModule=org.apache.geronimo.monitor/MRC/1.0/car,J2EEServer=geronimo,name=MasterRemoteControl,j2eeType=GBean"; public static void main(String[] args) { try { + /* JMXServiceURL serviceURL = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/JMXConnector"); Hashtable env = new Hashtable(); String[] credentials = new String[2]; @@ -60,13 +68,13 @@ // updateMaxSpareThread(mbServerConn); // printMaxSpareThread(mbServerConn); // testThreadPoolControl(mbServerConn); - /* + try { testSnapshotThread(mbServerConn, 5000); } catch(Exception e) { System.out.println(e.getMessage()); } - */ + testSnapshotThreadStop(mbServerConn); System.out.println("Stopped"); Thread.sleep(1000); @@ -84,7 +92,24 @@ // testSetSnapshotDuration(mbServerConn, new Long(60000)); // testRemoveMBeanToSnapshot(mbServerConn); // testGetStatsAttr(mbServerConn); - + */ +// MasterRemoteControl mrc; + Properties props = new Properties(); + props.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.openejb.client.RemoteInitialContextFactory"); + props.setProperty(Context.PROVIDER_URL, "127.0.0.1:4201"); + props.setProperty(Context.SECURITY_PRINCIPAL, "system"); + props.setProperty(Context.SECURITY_CREDENTIALS, "manager"); + props.setProperty("openejb.authentication.realmName", "geronimo-admin"); + Context ic = new InitialContext(props); + System.out.println("Success: Initialized InitialContext"); + MasterRemoteControlRemote o = (MasterRemoteControlRemote)ic.lookup("ejb/mgmt/MRCRemote"); + System.out.println("Success: look up MRCRemote"); + o.setUpMEJB(); + System.out.println("Success: setUpMEJB"); + //nagementHome o = (ManagementHome)ic.lookup("ejb/mgmt/MEJBRemoteHome"); + //Management m = o.create(); + System.out.println(o); + //System.out.println(m.getDefaultDomain()); } catch (Exception e) { e.printStackTrace(); } Added: geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/resources/META-INF/openejb-jar.xml URL: http://svn.apache.org/viewvc/geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/resources/META-INF/openejb-jar.xml?rev=585796&view=auto ============================================================================== --- geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/resources/META-INF/openejb-jar.xml (added) +++ geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/resources/META-INF/openejb-jar.xml Wed Oct 17 19:36:26 2007 @@ -0,0 +1,56 @@ + + + + + + org.apache.geronimo.plugins + MRCRemote + 1.0 + car + + + + + org.apache.geronimo.configs + mejb + 2.1-SNAPSHOT + car + + + + org.apache.geronimo.configs + j2ee-security + 2.1-SNAPSHOT + car + + + + + + + ejb/mgmt/MRC + ejb/mgmt/MRC + + + + + + + + + + + + + + + + Propchange: geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/resources/META-INF/openejb-jar.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/resources/META-INF/openejb-jar.xml ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: geronimo/sandbox/monitoring/mrc-server/mrc-ejb/src/main/resources/META-INF/openejb-jar.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml