CMP在WSAD中设置使用缓存后不能更新?

AYellow 2003-09-28 09:57:19
WSAD V5
在EJB部署描述符的编辑器中的Bean页面
“高速缓存有效期”设置为60
“高速缓存使用的有效期”设置为ELAPSED_TIME

业务上允许读过期的数据,但是用CMP更新的时候出错,说不能更新只读Bean的实例

请问应该怎么设置

我希望它读的时候从缓存读,写的时候最好同时写缓存和数据库
...全文
74 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
AYellow 2003-11-05
  • 打赏
  • 举报
回复
我真的去找过,我在提这个问题以前也感觉和访问意图有关,不过哪里关于访问意图的解释我没有看太懂
感觉IBM网站上的东西很多但是很难找

总之谢谢了
iceleighton 2003-11-04
  • 打赏
  • 举报
回复
老大你真的查了吗?
看看这个和你的问题一样吗?

访问意图异常
下列异常是在响应访问意图策略的应用程序中抛出的:

com.ibm.ws.ejbpersistence.utilpm.PersistenceManagerException
如果驱动 ejbLoad() 方法的方法配置为只读,但在已装入 bean 的状态的事务中做了更新,那么将在调用 ejbStore() 方法期间抛出异常并回滚事务。同样地,ejbRemove() 方法无法在设置为只读的事务中成功完成。如果在具有 bean 管理的持久性的实体 bean 的方法中应用了更新提示,那么会有相同的行为和异常结果。转发的异常对象包含消息字符串 PMGR1103E:更新实例级别只读 bean beanName
当应用的访问意图策略无法执行时也将抛出此异常,因为查找程序、ejbSelect 或容器管理的关系(CMR)访问者方法返回一个固定只读结果。转发的异常对象包含消息字符串 PMGR1001:无此类 DataAccessSpec - methodName

此错误最普遍发生在使用应用的访问意图 wsPessimisticUpdate 或 wsPessimisticUpdate-Exclusive 调用包含只读 EJB 查询语言(EJB QL)语句的定制查找程序时。这些策略需要在 SQL SELECT 语句上使用 FOR UPDATE 子句来执行,但只读查询不支持 FOR UPDATE。其它只读查询的示例包含 joins;使用 ORDER BY、GROUP BY 和 DISTINCT 关键字。

要消除异常,编辑 EJB 查询以使它不返回固定的只读结果或更改正在应用的访问意图策略。

如果更新访问是必需的,那么将应用的访问意图设置更改为 wsPessimisticUpdate-WeakestLockAtLoad 或 wsOptimisticUpdate。
如果不是确实需要更新访问,则使用 wsPessimisticRead 或 wsOptimisticRead。
如果共享所需实体 bean 之前的连接,则使用 wsPessimisticUpdate-WeakestLockAtLoad 或 wsPessimisticRead。

com.ibm.websphere.ejb.container.CollectionCannotBeFurtherAccessed
如果迟钝集合在它不再在作用域内并属于已本地缓冲的内容之后驱动,那么将抛出 CollectionCannotBeFurtherAccessed 异常。
com.ibm.ws.exception.RuntimeWarning
如果未正确配置应用程序,那么将在应用程序启动时抛出运行时警告异常;启动结束。您可通过选择 WebSphere 应用程序组装工具中的验证功能来验证应用程序的配置。一些错误配置的示例包含:
使用两个不同的访问意图策略配置的方法
使用未定义的访问意图策略配置的方法
javax.ejb.NoSuchEntityException
如果乐观并发下的更新因装入和存储请求间的另一个事务中已更改的字段而失败,那么将引发 NoSuchEntityException 且提交失败。


--------------------------------------------------------------------------------
AYellow 2003-11-04
  • 打赏
  • 举报
回复
查过了,没有找到
iceleighton 2003-11-02
  • 打赏
  • 举报
回复
好像是要在打包的时候修改EJB的访问策略。
自己在信息中心里面查吧。
klbt 2003-10-01
  • 打赏
  • 举报
回复
学习,帮你顶。

2,633

社区成员

发帖
与我相关
我的任务
社区描述
WebSphere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。
社区管理员
  • WebSphere社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧