我有以下代码在Apache-tomee上运行,我使用eclipse进行编码,我想在应用程序启动时使用@Schedule注释运行我的简单调度作业.
@Startup
@Singleton
public class ScheduleEJB {
private static int count = 0;
@Schedule(second="*/10", minute="*", hour="*", info="MyTimer")
public void execute() {
System.out.println("its running count..."+count);
count++;
}
}
Run Code Online (Sandbox Code Playgroud)
当我在Tomee上部署此代码时,它会让我听到以下消息并且无法在启动时自动运行我的调度方法execute(),因为此代码在glassfish中工作正常,但我不会使用它或者是jboss的glassfish.
2012年12月21日上午9:59:45 org.quartz.impl.StdSchedulerFactory实例化
INFO:使用ThreadExecutor的默认实现
2012年12月21日上午9:59:45 org.quartz.core.SchedulerSignalerImpl
INFO:类型的初始化调度程序信号器: class org.quartz.core.SchedulerSignalerImpl
2012年12月21日上午9:59:45 org.quartz.core.QuartzScheduler
信息:Quartz Scheduler v.2.1.6创建.
2012年12月21日上午9:59:45 org.quartz.simpl.RAMJobStore初始化
INFO:RAMJobStore已初始化.
2012年12月21日上午9:59:45 org.quartz.core.QuartzScheduler初始化
INFO:调度程序元数据:Quartz调度程序(v2.1.6)'OpenEJB-TimerService-Scheduler'与instanceId'OpenEJB'
调度程序类:'org. quartz.core.QuartzScheduler' - 在本地运行.
没有开始.
目前处于待机模式.
执行的作业数:0
使用线程池'org.apache.openejb.core.timer.DefaultTimerThreadPoolAdapter' - 带0个线程.
使用job-store'org.quartz.simpl.RAMJobStore' - 它不支持持久性.并没有聚集.
2012年12月21日上午9:59:45 org.quartz.impl.StdSchedulerFactory实例化
INFO:从外部提供的属性实例初始化的Quartz调度程序'OpenEJB-TimerService-Scheduler'.
2012年12月21日上午9:59:45 org.quartz.impl.StdSchedulerFactory实例化
INFO:Quartz调度程序版本:2.1.6
2012年12月21日上午9:59:45 org.quartz.core.QuartzScheduler启动
INFO:Scheduler OpenEJB- TimerService-Scheduler _ $ _ OpenEJB启动.
2012年12月21日上午9:59:45 org.apache.openejb.assembler.classic.Assembler createApplication INFO:创建Ejb …
我在排序数组中多次出现一个键,我想对它们执行二进制搜索,正常的二进制搜索为具有多次出现的键返回一些随机索引,其中我想要该键的最后一次出现的索引.
int data[] = [1,2,3,4,4,4,4,5,5,6,6];
int key = 4;
int index = upperBoundBinarySearch(data, 0, data.length-1, key);
Index Returned = 6
Run Code Online (Sandbox Code Playgroud)