【发布时间】:2012-01-24 02:27:46
【问题描述】:
我的设置有问题,我什至无法查看日志。
这是我的@Singleton@Startup EJB:
@Singleton
@Startup
@DependsOn("SchedulerEJB")
public class SchedulerStartUp {
private static Logger log = Logger.getLogger(SchedulerStartUp.class);
@EJB
SchedulerEJB schedEJB;
@PostConstruct
public void atStartup() {
log.info("startUp")
System.out.println("startUp");
schedEJB.cancelTimer("EBlastScheduler");
schedEJB.createTimer("*/1", "*", "*");
}
}
SchedulerEJB:
@Stateless
public class SchedulerEJB {
@Resource
TimerService timerService;
public cancelTimer(String timerInfo){/*...*/}
public createTimer(String sec, String min, String hour) {/*...*/}
@Timeout
public void execute(Timer timer) {/*...*/}
}
Maven pom:
//Been Using Glassfishv3.0.1 and EJB3.1 with a dependency of:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
【问题讨论】:
-
你能调试一下吗?另外,我在使用公共日志时遇到了问题,我最终使用了 slf4j
LoggerFactory.getLogger(SchedulerStartUp.class) -
日志在部署应用程序时运行良好,似乎只有在这种情况下使用时才会发生:(
-
遗憾的是没有时间这样做:(,现在想了很多事情......帮助:((
-
请将“@EJB”受让人更改为接口(带有“@Remote”/“@Local”的接口)而不是 EJB 本身。当依赖项不使用@Singleton 时,请删除“@DependsOn”,谢谢。
标签: java jakarta-ee timer glassfish ejb