问题标签 [session-bean]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
783 浏览

spring - 事件上的 Spring 会话 bean 初始化

在我的项目中,我需要 SessionBean 来存储与当前会话关联的对象。在创建会话并且用户通过身份验证时,我想为我的 bean 设置对象。

豆定义:

身份验证侦听器:

}

但是,问题是我无法获取当前 SessionBean 实例的实例。那是我的错误:

我该怎么做?什么事件或监听器会让我用当前用户初始化 SessionBean。

0 投票
0 回答
373 浏览

hibernate - 使用@Stateless session bean 在一对多关系中持久化 2 个实体

您好,我正在使用 2 个@Stateless 会话 bean ClientFacade 和 CreditCardFacade,我想使用这个门面来持久化这两个实体,我还想将 Client 与 CreditCard 关联起来。

客户在这里@OneToMany(反方),CreditCard 是@ManyToOne(拥有方)

我已经写了单元测试:

但是这里的问题是客户端和 creditCard 保存在数据库中,并且 creditCard 已将外键设置为客户端,但是当我尝试访问 client.getCreditCards() 时,尽管数据库中存在这种关系,但它为空,尽管我之前一直在刷新客户端实体。如果这是在 RESOURCE_LOCAL 而不是 JTA 中类推的,那么这种方法效果很好。

更新

我以这种方式修改了实体:

和:

现在尝试以与上述类似的方式(没有)刷新我得到这样的异常:

我考虑如何结合使用这种 Facade EJB 以保持关系。如果我使用 EntityTransaction 在单个事务中保持这种关系,那么一切似乎都正确地保持。但是尝试使用 AbstractFacade 模式坚持 EJB @Stateless 失败了。我无法解决这个问题,为什么我可以以这种方式保存它。也许这是因为我有 2 个单独的事务并且它们之间的对象正在分离。

0 投票
2 回答
174 浏览

java - 会话 bean 返回错误的值

我在wildfly 8上运行的eclipse项目中实现了以下html页面、servlet类和bean类。

我遇到的问题是每次我用一些值调用 servlet 时,bean 类中的添加操作都会返回。我知道我没有做正确的微不足道的事情。我应该改变什么才能从添加操作中获得正确的值。

AddServlet.java

添加Ejb.java

索引.html

以下是系统输出日志

0 投票
1 回答
30 浏览

jakarta-ee - @Inject 在会话 bean 中的接口

我有一个无状态会话 bean,它确实从库中注入了一个接口。

这接缝工作!但为什么?容器怎么知道要注入什么?

这是允许的和良好的做法吗?

0 投票
1 回答
132 浏览

javascript - Javascript将值传递给托管bean

我试图在 userList 的 onchanged 事件之后传递一个值

on change 将调用此函数。我能够获得正确的选定值,但我似乎无法将该值传递给 systemUtil.someString(selectedValue),这是我的托管 bean。当我尝试打印出 someString 方法中的值时,我得到的只是空值。

在跟踪代码之后,似乎这个分配甚至在 onchanged 事件之前就已经完成了。

我究竟做错了什么?

0 投票
0 回答
790 浏览

java - 当 LockType.READ 方法被 LockType.Write 方法调用时会发生什么

当在类级别为 LockType READ 的单例容器管理会话 bean 中的 LockType WRITE 方法调用 LockType READ 的同一 bean 中的另一个方法时会发生什么。

使用上面的bean,有这样的实现是否正确?当这个 update() 正在执行并且同时一些其他服务调用 calculate() 时会发生什么?服务会等到 update() 完成还是它还并行执行 calculate()?我相信如果它确实并行执行,它很有可能破坏数据或以数据不匹配告终。

计算方法可以设为私有,并且只能在受 WRITE 保护的方法下使用。这样可以确保不会因为并发请求而出现不匹配。

想知道在上述情况下处理并发请求的影响并遵循正确的方法。

0 投票
1 回答
2995 浏览

java - 使用 @Lock 注释而不是 synchronized 关键字

应用程序设置(简化)

我觉得我对 Java 中的并发非常熟悉,但我对 Java EE 及其注解还是比较陌生。

我有一个名为DataHandlerannotated with的类@Singleton,它为我的应用程序执行一些业务逻辑。这个类被注入到一个用@WebService. 当调用 Web 服务的方法之一时,DataHandler调用parseFiles()解析一些文件的方法,并将数据存储在DataHandler. 之后,它对内部的吸气剂进行了一些调用DataHandler

现在我还有一个消息驱动的 bean,它接收关于一个名为 UpdateTopic 的主题的一些数据,然后将其转换为另一种类型并将其存储在DataHandler

我想同步parseFiles()方法、convertAndStore()方法和两个 getter,以便所有数据在访问时都是最新的。

我简单地做了所有四种方法synchronized来实现这一点。我的理解是,如果文件正在被解析并且更新进入 MDB,那么该convertAndStore()方法将被锁定直到parseFiles()完成。同样,如果正在转换和存储更新,并且 Web 服务正在尝试访问两个地图之一,它会一直等到convertAndStore()完成。如果我在其中任何一个方面错了,请纠正我。


我的问题

说了这么多,我最近才读到@ConcurrencyManagement@Lock注释。而不是同步这四种方法。现在似乎我应该只注释parseFiles()and convertAndStore()@Lock(LockType.WRITE)因为它们正在修改 bean 的状态和两个 getter @Lock(LockType.READ)

我应该这样做并synchronized完全避免使用关键字吗?是否有任何用途synchronized(可能只是用于同步块?),还是这些注释现在取代它?

0 投票
1 回答
472 浏览

java - 将 EJB 3 会话 Bean 引用存储到 Map

目前我正在EJB3.0 session beans我的应用程序中使用。通常我使用jndi name并调用相关方法查找bean。但最近有人建议我将这些引用存储在 aMap而不是一次又一次地查找。

这是存储Session Bean引用Map 以避免每次查找的好习惯吗?或者它是危险的?如果在所有应用程序中可能会遇到什么样的问题?

如果这是一个好的做法,那么我还有另一个问题。

包含Map存储引用的类是模块 Asession beans的一部分。 而是模块 B1 ...Bn的一部分。因此,当我将参考存储在 中查找后Map,我可以将其取回。与此同时, 模块 Bn被重新部署,但模块 A 保持原样。所以现在在使用它从 Map (因为它包含条目)查找 bean 之后,ClassCast Exception被抛出。

这是什么原因,我该如何避免?我正在使用 JBOSS 应用程序服务器 - jboss 5.1.0.GA

0 投票
0 回答
25 浏览

java - 使用会话 bean 来保持数据源连接

我在java中制作了一个数据库包装器来连接到数据源。我连接到数据源的方式是使用以下行:

然后我可以开始做类似的查询

是否可以将该 db 对象保存在会话范围的 bean 上,然后从其他请求范围的 bean 访问该对象,这些 bean 是表单控制器?

我认为有比DB每次请求表单的 bean 时创建一个新实例更好的方法。

我没有使用任何持久性 API。

0 投票
1 回答
641 浏览

eclipse - 在 Eclipse 中创建新会话 bean 时无法选择项目名称

在 Eclipse 中为 ejb 项目创建新的会话 bean 时,我似乎无法选择项目名称,因此无法创建会话 bean。

截屏

我正在使用 JBoss 7.1、ejb 模块 3.1 和 jdk 1.8。