Pri*_*imi 5 jsf jboss hibernate ejb
我们有一个使用以下技术的Web应用程序:JSF 2.0,EJB 3.1,JPA 2.0,JBoss AS 7.1 Final
有时我们会无处不在地得到以下异常:
09:46:29,664 ERROR [org.jboss.ejb3.invocation] (http-10.99.0.10-10.99.0.10-8080-14) JBAS014134: EJB Invocation failed on component VehicleServiceBean for method public abstract java.util.List com.hji.common.service.VehicleService.findVehiclesBySearchCriteriaAndImporterIds(com.hji.common.domain.repository.VehicleRepository$VehicleSearchCriteria,java.lang.String,java.util.List,boolean): java.lang.IllegalStateException: JBAS014531: Cache entry {[36, -111,
-104, -128, 61, -17, 73, 29, -101, 52, -7, -106, 46, -3, 44, -22]} is not in use
at org.jboss.as.ejb3.cache.impl.backing.NonPassivatingBackingCacheImpl.release(NonPassivatingBackingCacheImpl.java:134) [jboss-as-ejb3-7.1.0.Final.jar:7.1.0.Final]
at org.jboss.as.ejb3.cache.impl.backing.NonPassivatingBackingCacheImpl.release(NonPassivatingBackingCacheImpl.java:56) [jboss-as-ejb3-7.1.0.Final.jar:7.1.0.Final]
at org.jboss.as.ejb3.cache.spi.impl.AbstractCache.release(AbstractCache.java:76) [jboss-as-ejb3-7.1.0.Final.jar:7.1.0.Final]
at org.jboss.as.ejb3.cache.spi.impl.AbstractCache.release(AbstractCache.java:39) [jboss-as-ejb3-7.1.0.Final.jar:7.1.0.Final]
at org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor.releaseInstance(StatefulSessionSynchronizationInterceptor.java:197) ...
**Caused by: java.lang.IllegalStateException: JBAS014531: Cache entry {[36, -111, -104, -128, 61, -17, 73, 29, -101, 52, -7, -106, 46, -3, 44, -22]} is not in use**
at org.jboss.as.ejb3.cache.impl.backing.NonPassivatingBackingCacheImpl.release(NonPassivatingBackingCacheImpl.java:134) [jboss-as-ejb3-7.1.0.Final.jar:7.1.0.Final]
at org.jboss.as.ejb3.cache.impl.backing.NonPassivatingBackingCacheImpl.release(NonPassivatingBackingCacheImpl.java:56) [jboss-as-ejb3-7.1.0.Final.jar:7.1.0.Final]
at org.jboss.as.ejb3.cache.spi.impl.AbstractCache.release(AbstractCache.java:76) [jboss-as-ejb3-7.1.0.Final.jar:7.1.0.Final]
at org.jboss.as.ejb3.cache.spi.impl.AbstractCache.release(AbstractCache.java:39) [jboss-as-ejb3-7.1.0.Final.jar:7.1.0.Final] ...
Run Code Online (Sandbox Code Playgroud)
我一直在网上搜索一段时间,但找不到任何解决方案.有人知道这种错误吗?
我一直在四处寻找,因为我也遇到了类似的问题。我只找到了两种可能的解释:要么你的有状态 bean 超时(在 AS7.1 上默认为 5000 秒),要么你将对 SFSB 的引用从一个线程传递到另一个线程 - 这(建议在jboss 论坛是不允许的。如果是前者,要么增加超时时间,要么捕获异常。如果是后者,让 jboss 在需要的地方注入有状态 bean,而不是传递它。
我遇到的问题是这两个都不适合我。我的测试设置中只有一个有状态 bean,它被单独注入到各种无状态 bean 中 - 并且我可以在开始测试运行后几秒钟内生成异常。我仍在尝试找出哪里出错了 - 如果您找到了问题的替代解决方案,可以将其发布吗?
Rgds,詹姆斯
我已将其范围缩小到并发访问 - 我可以发出大量顺序请求,但在此之前只能发出一些“并发”请求。(我将并发放在引号中,因为我正在同步 @SessionScoped ejb 持有的锁,因此唯一可能的并发调用是我在其上创建的 getLock() 方法)。
我完全困惑于 Weld 是否允许或阻止并发访问 @SessionScoped @Stateful EJB。我读到 Seam 序列化了访问(Weld 是从 Seam 中诞生的),但不知道实际情况是否如此。如果是的话,那么就有其他原因导致我的豆子死亡。不过,通过从单独的 @Stateless bean 进行并发访问,可以轻松地重现它。
| 归档时间: |
|
| 查看次数: |
1111 次 |
| 最近记录: |