lil*_*ili 5 timeout java-ee ejb-3.1 glassfish-3
我有一个A调用EJB的EJB B.用户界面不应等待超过30秒的响应.如果缺少某些数据,则应返回部分响应.
如何在EJB上定义超时(30秒的时间限制)B?
我可以将EJB定义B为Asynchronous返回Future,然后执行Future.get(30, TimeUnit.SECONDS).但这是最好的解决方案吗?
谢谢
PS我使用glassfish 3.1
小智 5
我建议使用事务超时.
我认为没有一种标准的配置方式,因此它取决于应用服务器.我假设你想根据类或方法专门设置它.
对于WebLogic,您可以在"transaction-descriptor"中的"weblogic-ejb-jar.xml"中指定它,或使用注释"@TransactionTimeoutSeconds".
http://docs.oracle.com/cd/E12839_01/web.1111/e13719/ejb_jar_ref.htm#i1506703
http://docs.oracle.com/cd/E21764_01/web.1111/e13720/annotations.htm#i1438354
对于JBoss AS,您可以使用注释"@TransactionTimeout"或"jboss.xml"设置事务超时.
https://community.jboss.org/wiki/TransactionTimeout
我确信每个应用程序服务器中都有类似的配置选项.
| 归档时间: |
|
| 查看次数: |
13235 次 |
| 最近记录: |