下面是我试图afterPropertiesSet
在我的 OSGiFramework 类中调用的 jUnit 测试。但不知何故getBundlesInformation
,在该流程中不会调用方法。
当我调试我的 jUnit 测试时, afterPropertiesSet 方法被调用,然后它转到 initializeModelFramework 方法,然后它永远不会转到 getBundlesInformation 方法。
@Test
public void testOSGiFramework() {
Method method;
try {
method = OSGiFramework.class.getDeclaredMethod("afterPropertiesSet", null);
Object o = method.invoke(new OSGiFramework(), null);
Assert.assertEquals(false, o instanceof Void);
}
}
以下是 OSGiFramework 类中的方法-
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
@Override
public void afterPropertiesSet() throws Exception {
try {
initializeModelFramework();
}
}
private void initializeModelFramework() {
final ScheduledFuture<?> taskHandle = scheduler.scheduleAtFixedRate(
new Runnable() {
public void run() {
try {
getBundlesInformation();
}catch(Exception ex) {
LOG.log(Level.SEVERE, "Exception in OSGiFramework::initializeModelFramework " +ex);
ex.printStackTrace();
}
}
}, 0, 30, TimeUnit.MINUTES);
}
protected static void getBundlesInformation() throws BundleException, Exception {
System.out.println("Hello");
}
有谁知道可能是什么问题?