2012-05-07 4 views
1

Я использую EJB3.0 jboss5.1ASНе удалось создать таймер на Jboss5

У меня есть некоторые странные проблемы, которые случаются вратаря раньше. Я пытаюсь проверить свою фабулу ajb без гражданства.

Я использовал для имитации вызова ejb с сервлета, который был внутри моего уха (внутри проекта WAR), и все работало нормально.

Сейчас мы пытаемся проверить этот EJB через сервлет, который находится вне EAR от extrnal сервера Tomcat, делая EJB-Call

и вдруг я получаю это исключение:

7 May 12 13:13:11, ERROR DispactherBean:dispatchMsg:113 Exception. The error msg=Failed to create timer 
javax.ejb.EJBException: Failed to create timer 
    at org.jboss.ejb.txtimer.TimerServiceImpl.createTimer(TimerServiceImpl.java:263) 
    at org.jboss.ejb.txtimer.TimerServiceImpl.createTimer(TimerServiceImpl.java:171) 
    at org.jboss.as.ejb3.timerservice.TimerServiceFacade.createTimer(TimerServiceFacade.java:83) 
    at DispactherBean.dispatchMsg(DispactherBean.java:94) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at 

. ...

Я запуск моего таймера так:

@Stateless 
@Remote(
{ DispactherBeanRemote.class }) 
@RemoteBinding(jndiBinding = "DispactherBean") 
public class DispactherBean implements DispactherBeanRemote, Serializable 
{ 

    private static final long serialVersionUID = 1L; 
    private final static Logger logger = Logger.getLogger(DispactherBean.class); 

    @Resource 
    private TimerService timerService; 

     public void someMethod() 
     { 

      timerService.createTimer(MomConstants.TRX_TIMEOUT_PERIOD,"test"); 
     } 
    .. 
    } 

Я называю г этот компонент из TOMCAT/автономного этот путь:

Properties p = new Properties(); 
      p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); 
      p.put(Context.URL_PKG_PREFIXES, "org.jnp.interfaces"); 
      p.put(Context.PROVIDER_URL, "jboss.ip:1099"); 
      InitialContext context = new InitialContext(p); 
      String lookupStr = "Mom/DispactherBean/remote-mom.beans.DispactherBeanRemote"; 

      DispactherBeanRemote dispactherBean = (DispactherBeanRemote) context.lookup(lookupStr);     
     dispactherBean.someMethod(); 

     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 
+0

Можете ли вы добавить дополнительную информацию о том, как вы вызываете bean-компонент из сервлета, также вы попытались использовать 'SessionContext' для создания таймера. –

+0

Okie Я отредактирую вопрос. и да, я попробовал SessionContext. Не работает. – rayman

ответ

0

Нужен добавить все JBoss клиентов банков с котом/JBoss стороны.

Смежные вопросы