private static IEnumerable <ObjectName> QueryNames(IMBeanServerConnection connection, string prefix, ObjectName name, IExpression <bool> query) { if (name != null) { ObjectName namePatternWithoutPrefix; return(DomainPrefixMatches(name, prefix, out namePatternWithoutPrefix) ? connection.QueryNames(namePatternWithoutPrefix, query) : Enumerable.Empty <ObjectName>()); } return(connection.QueryNames(null, query)); }
public void Large_result_sets_can_be_returned_using_multiple_pull_requests_set_in_configuration() { RegisterBeansForLargeResultSetTests(); using (INetMXConnector connector = new Jsr262ConnectorFactory().Connect(new Uri(_serviceUrl), null)) { IMBeanServerConnection remoteServer = connector.MBeanServerConnection; Assert.AreEqual(1001, remoteServer.QueryNames(null, null).Count()); } }
public void Quoted_object_name_can_be_returned() { ObjectName firstQuotedName = @"com.acme:name=""AgentConnectorDemo"",type=""log4j"",logger=root,appender=ConsoleAppender"; ObjectName secondQuotedName = @"com.acme:applicationType=""AgentConnectorDemo"",name=""TransportHandler"",type=""SoftwareVersion"""; _server.RegisterMBean(new Sample(), firstQuotedName); _server.RegisterMBean(new Sample(), secondQuotedName); ObjectName[] names; using (INetMXConnector connector = new Jsr262Connector(_serviceUrl, 100)) { connector.Connect(null); IMBeanServerConnection remoteServer = connector.MBeanServerConnection; names = remoteServer.QueryNames("com.acme:*", null).ToArray(); } Assert.IsTrue(names.Contains(firstQuotedName)); Assert.IsTrue(names.Contains(secondQuotedName)); }
public IEnumerable <ObjectName> QueryNames(ObjectName name, IExpression <bool> query) { return(_exportedServer.QueryNames(name, query)); }
public IEnumerable <ObjectName> QueryNames(ObjectName name, IExpression <bool> query) { return(_aggregatedServers .SelectMany(x => QueryNames(x.Value, x.Key, name, query)) .Concat(_defaultServer.QueryNames(name, query))); }
static void Main(string[] args) { var connectorServerFactory = new Jsr262ConnectorServerFactory(); var connectorFactory = new Jsr262ConnectorFactory(); IMBeanServer server = MBeanServerFactory.CreateMBeanServer(); Sample o = new Sample(); ObjectName name = new ObjectName("Sample:a=b"); server.RegisterMBean(o, name); Uri serviceUrl = new Uri("http://localhost:12345/MBeanServer"); using (INetMXConnectorServer connectorServer = connectorServerFactory.NewNetMXConnectorServer(serviceUrl, server)) { connectorServer.Start(); using (INetMXConnector connector = connectorFactory.Connect(new Uri("http://localhost:12345/MBeanServer"), null)) { IMBeanServerConnection remoteServer = connector.MBeanServerConnection; string defaultDomain = remoteServer.GetDefaultDomain(); Console.WriteLine("Default domain is {0}", defaultDomain); IEnumerable <string> domains = remoteServer.GetDomains(); Console.WriteLine("Following domains are registereds:"); foreach (string domain in domains) { Console.WriteLine(" * {0}", domain); } IEnumerable <ObjectName> names = remoteServer.QueryNames(null, new EqualExp(new AttributeExp("Counter"), new ConstantExp <Number>(0))); Console.WriteLine("Following MBeans have attribute counter with value 0:"); foreach (ObjectName objectName in names) { Console.WriteLine(" * {0}", objectName); } //remoteServer.AddNotificationListener(name, CounterChanged, null, null); Console.WriteLine("******"); MBeanInfo info = remoteServer.GetMBeanInfo(name); Console.WriteLine("MBean description: {0}", info.Description); Console.WriteLine("MBean class name: {0}", info.ClassName); foreach (MBeanAttributeInfo attributeInfo in info.Attributes) { Console.WriteLine("Attribute {0} ({1}) [{2}{3}]: {4}", attributeInfo.Name, attributeInfo.Description, attributeInfo.Readable ? "r" : "", attributeInfo.Writable ? "w" : "", attributeInfo.Type); } foreach (MBeanOperationInfo operationInfo in info.Operations) { Console.WriteLine("Operation {0} ({1}) [{2}]", operationInfo.Name, operationInfo.Description, operationInfo.Impact); } Console.WriteLine("******"); object counter = remoteServer.GetAttribute(name, "Counter"); Console.WriteLine("Counter value is {0}", counter); remoteServer.SetAttribute(name, "Counter", 5); counter = remoteServer.GetAttribute(name, "Counter"); Console.WriteLine("Now, counter value is {0}", counter); counter = remoteServer.Invoke(name, "AddAmount", new object[] { 5 }); counter = remoteServer.GetAttribute(name, "Counter"); Console.WriteLine("Now, counter value is {0}. Press <enter>", counter); Console.ReadLine(); counter = remoteServer.Invoke(name, "ResetCounter", new object[] { }); counter = remoteServer.GetAttribute(name, "Counter"); Console.WriteLine("Now, counter value is {0}", counter); Console.WriteLine("Press <enter> to exit."); Console.ReadLine(); } } }