如何在不创建实现它的类的情况下为接口创建代理?
我有一个具体的例子:我有一个接口,Contact,需要创建一个充当联系人的代理对象.此代理对象将用于运行一些TestNG测试.
我尝试过使用JDK方法,但只能找到需要实际实现该接口的示例.
我还发现jasssist可以帮助我解决这个问题,并尝试实现一个似乎有效的简单示例,直到我出现Out of Memory错误.这是我正在做的事情的片段:
import javassist.util.proxy.MethodFilter;
import javassist.util.proxy.MethodHandler;
import javassist.util.proxy.ProxyFactory
protected final T createMock(final Class<T> clazz) {
final ProxyFactory factory = new ProxyFactory();
factory.setInterfaces(new Class[] { clazz });
factory.setFilter(new MethodFilter() {
public final boolean isHandled(final Method m) {
// ignore finalize()
return !m.getName().equals("finalize");
}
});
final MethodHandler handler = createDefaultMethodHandler();
try {
return (T) factory.create(new Class<?>[0], new Object[0], handler);
} catch (final Exception e) {
e.printStackTrace();
}
return null;
}
private MethodHandler createDefaultMethodHandler() {
return new MethodHandler() { …Run Code Online (Sandbox Code Playgroud) 我有一个Spring Boot应用程序,通过Spring Cloud库使用Netflix Hystrix,一切正常.
我想覆盖Hystrix的一些基本属性,例如hystrix.threadpool.default.coreSize和/或hystrix.threadpool.default.maxQueueSize.不幸的是,我找不到一些开箱即用的Spring Boot属性来执行此操作,那么在应用程序启动时我需要做些什么才能设置这些属性?
如何在spring-cloud-starter-hystrix模块中设置这些属性?