2013-12-18 5 views
0

저는 glassfish 4.0을 사용하여 타이머 서비스를 사용하여 ejb로 귀를 테스트합니다. 글래스 피시가로드되면 타이머 서비스가로드되고 모든 것이 잘 보입니다.글래스 피쉬 4.0 타이머 서비스 만들기 타이머가 작동하지 않음

TimerService.createTimer를 호출하는데 예외가 발생하지 않습니다.

그러나 timerService.getTimers를 호출하여 저장되는 타이머의 수를 확인하려고하면 항상 빈 컬렉션이 반환됩니다.

디버그 모드에서 보았으므로 서버를 다시 시작하지 않았으므로 타이머 스케줄러가 지속되는지 여부와 관계가 없습니다.

무엇이 원인 일 수 있습니까? EJB_ TIMER _TBL을 glassfish 스키마 및 timer_db 스키마와 심지어 내 응용 프로그램 스키마에서도 만들려고했는데 DerbyPool 연결 풀을 사용하도록 jdb/TimerPool을 변경했습니다.이 사용자 정의 DB를 가리 키도록 설정했지만 이번에는 SQLException이 발생합니다. 그 EJB는 _TIMER_ TBL 찾을 수 없습니다. 나는 타이머 서비스 select 문이 EJB _TIMER__TBL에 대한 테이블 스키마를 지정하지 않았기 때문에 생각한다.

나는 Netbeans7.4 +의 문제에 붙어 있었다

+0

처음 부분 인 경우 문제가 발견되었습니다. 타이머 컬렉션이 비어있는 이유는 @Timeout 콜백 메서드가 호출 되었기 때문입니다. 그러나 DB에서 타이머 테이블을 변경하는 솔루션을 찾을 수 없습니다. –

답변

2

오늘은 글래스 피시의 V4를 임베디드 반드시 누군가가 같은 문제에 직면하고 난 어떤 도움을 주셔서 감사합니다

감사 할거야 - 나는 @ 귀를 배포 할 수 없습니다 주석이 달린 빈을 일정을 잡습니다. 오류 : EJB 타이머 서비스를 사용할 수 없습니다. TimerPool에 설정 핑을 설정하려고 GF의 관리 콘솔에서 오류 반환 :

java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.EmbeddedDriver Could not initialize class org.apache.derby.jdbc.EmbeddedDriver 

내 솔루션을 - 나는 독립 글래스 피시는 V4 다운로드 넷빈즈에 추가 문제는 사라졌다.