Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions src/main/java/org/weakref/jmx/MBeanExporter.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,6 @@ public class MBeanExporter
private final ObjectNameGenerator objectNameGenerator;
private final Map<ObjectName, ManagedClass> exportedManagedClasses = new ConcurrentHashMap<>();

MBeanExporter()
{
this(ManagementFactory.getPlatformMBeanServer());
}

public MBeanExporter(MBeanServer server)
{
this(server, Optional.empty());
Expand Down
41 changes: 0 additions & 41 deletions src/main/java/org/weakref/jmx/guice/AnnotatedExportBuilder.java

This file was deleted.

25 changes: 0 additions & 25 deletions src/main/java/org/weakref/jmx/guice/ExportBuilder.java

This file was deleted.

62 changes: 3 additions & 59 deletions src/main/java/org/weakref/jmx/guice/MBeanModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
package org.weakref.jmx.guice;

import com.google.inject.AbstractModule;
import com.google.inject.Binder;
import com.google.inject.Key;
import com.google.inject.Scopes;
import com.google.inject.TypeLiteral;
import org.weakref.jmx.MBeanExporter;
Expand All @@ -26,72 +24,18 @@
import static com.google.inject.multibindings.Multibinder.newSetBinder;
import static com.google.inject.multibindings.OptionalBinder.newOptionalBinder;

public class MBeanModule
public final class MBeanModule
extends AbstractModule
{
private ExportBuilder builder;

@Override
protected final void configure()
protected void configure()
{
builder = newExporter(binder());

bind(GuiceMBeanExporter.class).asEagerSingleton();
bind(MBeanExporter.class).in(Scopes.SINGLETON);

newOptionalBinder(binder(), ObjectNameGenerator.class);
newSetBinder(binder(), new TypeLiteral<Mapping>() {});
newSetBinder(binder(), new TypeLiteral<SetMapping<?>>() {});
newSetBinder(binder(), new TypeLiteral<MapMapping<?, ?>>() {});

configureMBeans();
}

/**
* To be overridden by subclasses. E.g.,
*
* protected void configureMBeans() {
* export(ManagedObject.class).as("test:name=X");
* export(ManagedObject.class).annotatedWith(SomeAnnotation.class).as("test:name=Y");
* }
*
* When ExportBuilder is used, a raw MBeanModule can be imported to trigger the
* registration of exported mbeans:
*
* <pre>
* {@code
* Injector injector = Guice.createInjector(new MBeanModule(),
* new AbstractModule() {
* @Override
* protected void configure() {
* ExportBuilder builder = MBeanModule.newExporter();
* builder.export(AnotherManagedObject.class).as("test:name="Z");
* }
* });
* }
* </pre>
*
* @deprecated subclassing no longer supported. Use ExportBinder instead
*/
@Deprecated
protected void configureMBeans() {
}

@Deprecated
protected NamedBindingBuilder export(Key<?> key)
{
return builder.export(key);
}

@Deprecated
protected AnnotatedExportBuilder export(Class<?> clazz)
{
return builder.export(clazz);
}

@Deprecated
public static ExportBuilder newExporter(Binder binder)
{
return new ExportBuilder(newSetBinder(binder, Mapping.class));
}

}
67 changes: 0 additions & 67 deletions src/main/java/org/weakref/jmx/guice/NamedBindingBuilder.java

This file was deleted.

14 changes: 14 additions & 0 deletions src/test/java/org/weakref/jmx/guice/TestMBeanModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import com.google.inject.multibindings.Multibinder;
import org.testng.Assert;
import org.testng.annotations.Test;
import org.weakref.jmx.MBeanExporter;
import org.weakref.jmx.ObjectNameBuilder;
import org.weakref.jmx.ObjectNameGenerator;
import org.weakref.jmx.SimpleObject;
Expand Down Expand Up @@ -268,6 +269,19 @@ protected void configure()
server.unregisterMBean(objectName2);
}

@Test
public void testNothingExported()
{
Injector injector = Guice.createInjector(
new MBeanModule(),
binder -> {
binder.requireExplicitBindings();
binder.disableCircularProxies();
binder.bind(MBeanServer.class).toInstance(ManagementFactory.getPlatformMBeanServer());
});
injector.getInstance(MBeanExporter.class);
}

@Test
public void testSet()
throws Exception
Expand Down
91 changes: 0 additions & 91 deletions src/test/java/org/weakref/jmx/guice/TestModuleSubclassing.java

This file was deleted.

Loading