2012-05-07 1 views
1

にタイマーの作成に失敗しました。 ejbステートレスBeanをテストしようとしています。は私が前に起こるdidntのいくつかの奇妙な問題を抱えているEJB3.0 jboss5.1AS</p> <p>を使用していますJboss5

私は耳の内側(WARプロジェクト内)のサーブレットからejb呼び出しをシミュレートするために使用され、すべて正常に機能しました。

今、我々はEJB-コール

と突然のすべてを実行して、extrnal TomcatサーバーからEARの外側にあるサーブレットを経由してこのEJBをテストしようと、私はこの例外を取得:

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 /スタンドアロンからこのBeanこの方法:

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を試しました。 didntも同様に働く。 – rayman

答えて

0

にTomcat/JBossの側にすべてのJBossのクライアントのjarファイルを追加する必要があります。