问题标签 [stateless-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.
variables - EJB3 缓存实例变量
我注意到我正在处理的一个项目中有一些奇怪的代码——它是一个 SLSB EJB3,它使用一个私有实例变量来维护一个数据缓存(它甚至称它为 dataCache 或其他东西),带有一个 getter/setter。对于 EJB2 及以下内容,这是典型的 EJB 反模式 - SLSB 并不意味着在调用之间保留状态,不能保证您在后续调用中会看到相同的数据。我的一位同事说它在 EJB3 中可能没问题(我们没有太多 EJB3 经验),但它仍然是一个无状态会话 Bean - 为什么它试图保持状态,这没有意义。
谁能确认这在 EJB3 领域是否仍然是一个坏主意,或者是否可以?
谢谢,如果你能帮忙,贾斯汀
performance - JSF + 无状态 EJB 性能
我有一个在 GlassFish v3 上运行的 JSF 2.0 应用程序。它具有通过 JPA 为主要应用程序会话提供数据库数据的 EJB。即使在非 IDE 应用服务器上,EJB 调用也非常慢。在某些页面之间,用户必须等待超过 10 秒才能到达下一页。
EJB 运行在同一个应用服务器上,只Local
使用接口。EJB 通过@EJB
注解注入。
有什么线索吗?
在此先感谢,丹尼尔
编辑请参阅我的答案以获取解决方案。
singleton - 我可以用 EJB 3.0 制作自己的单例无状态 Bean 吗?
现在,在 EJB 3.1 中,我们可以找到 javax.ejb.Singleton 注释,它可以确保这个 bean 将是单例的。
有没有一种方法可以确保在 EJB 3.0 中使用无状态 bean 并在我的代码中进行一些修改(使用关键字 static 或其他方式来做到这一点......)
java - 如何删除 EJB2.1 无状态会话 bean
大家好,我有一个问题:如何删除 EJB 会话 bean(尤其是无状态 bean)?
当然有 remove() 方法,但是当会话对象在事务中时不能调用它,即会话 bean A 在其业务方法中被另一个会话 bean B 调用。
java - 如何访问 EJB?
我正在尝试在 Eclipse 中的 JBOSS 4.2 上开发基本 EJB3 应用程序
我在 Eclipse 中创建了一个 EJB 项目。
以下是我的远程和本地接口。
我的ejb实现是
我已经将它部署为 JBoss 中的爆炸 JAR,它运行良好。
我的第一个问题是:
我还要向这个爆炸的罐子添加什么?
其次,我创建了一个独立客户端并将上面的 jar 添加到它的类路径中
客户端代码如下
包 com.testejb;
导入 java.io.FileInputStream;导入 java.util.Properties;
导入 javax.naming.InitialContext;
}
jar 的名称是 FirstEJB。我已经尝试查找为 FirstEJB/HelloWorldRemote/remote。
但是当我运行程序时,我得到了错误
如果我将查找键入为 HelloWorld/remote,则会收到错误消息
configuration - J2EE 应用程序/Bean 配置最佳实践?
管理属性集以应用于 EJB 并且能够轻松地在机器/环境(例如 DEV、TEST、PROD)之间改变它们的最佳方法是什么?例如,有没有办法在应用服务器上配置您的 EJB 属性(这保证您可以根据机器/环境改变它们)。
具体来说:
1)我有一个需要特定属性集(环境)的单例 EJB。是否有用于告诉 EJB 容器在哪里查找这些属性并自动将它们应用于 bean 的注释?
2) 管理不同属性集(即dev、test、prod)的最佳方法是什么,以便J2EE 应用程序可以在服务器之间移植,并且您可以无缝地管理特定于每个服务器的属性?
如果有任何好的文档链接 - 请告诉我。我用谷歌搜索了一下,没有直接看到上述几点。
jakarta-ee - 如何拆分 SFSB Facade?
我在开发基于 EJB 3 技术的应用程序时遇到了一些问题。
我想在会话 bean 中使用外观模式来将我的客户端(Web 应用程序)与我的实体 bean 分离。
我正在使用 SFSB 来管理用户会话。
所以我有一个FacadeLoginRemote
远程接口,它向客户端公开方法doLogin()
,doLogout()
等...目前这个 SFSB 还包括一些其他方法,例如getCourse(int id)
,getResource(int id)
。并非所有用户都能真正获得课程并获得资源,因此 Facade 在将值返回给客户端之前会执行一些检查。
我想拆分外观,将方法getCourse()
放在getResource()
一个特殊的类中,但留给FacadeLoginRemote
检查用户权限的功能。
如果我制作一些不同的 SLSB,我会将它们公开给客户。因此,客户端将有可能直接连接到它们,避免来自FacadeLoginRemote
.
我错了吗?有没有办法做到这一点?
提前致谢,
安德烈亚
android - 如何从 Android 客户端调用会话 bean 中的方法?
我想知道是否可以创建一个 Android 应用程序来与会话 bean 通信并调用一个方法。如果是这样,有人可以解释一下吗?否则我可以使用 JSP/servelet 在 EJB 中调用该方法并使用 Android 客户端调用 JSP/Servelet .. 示例非常感谢
谢谢 !!!
hibernate - 调试休眠“会话已关闭!” - 滥用 SSB?
(首先,这不是我的代码。其次,为了保护有罪的人,我更改了类名以隐藏任何特定于我的雇主的内容,所以如果事情彼此不对应,那就是原因!)。
有人可以帮我解决一个疑问吗?我被要求调查一个完整连接池的问题,这段代码似乎有异味。
我们的日志中有很多关于org.hibernate.SessionException: Session is closed!
以下代码的内容,这些代码使用了表现不佳的连接池。
呼叫通过 Web 服务进入:
GetAllResponses
课程如下:
MyHome
如下:
请注意如何GetAllResponses
将MyHome
类的第 2 行实例化为静态字段,并在第 8 行和第 20 行分配MyHome
该字段。session
根据我对事物的理解,SSBMyHome
不是由 J2EE 服务器(JBoss 4.2.2 GA)管理的,因为它已被实例化为GetAllResponses
类的静态字段,而不是在 JNDI 上查找。因此,两个线程可以同时访问同一个实例MyHome
,并且由于会话存储在字段中session
,第一次调用很容易Session
被另一个调用替换Session
,从而导致各种问题,包括org.hibernate.SessionException: Session is closed!
第 9 行和第 21 行MyHome
(例如,两个线程调用findDataObject
,第一个线程在第二个线程运行第 8 行之后和第 9 行之前运行第 14 行)。
我对么?
jakarta-ee - 当无状态 bean 池用完时会发生什么
我们知道无状态会话 bean(JEE5 上下文)可以被池化。我想知道当服务器的无状态会话 bean 池没有更多实例并且另一个客户端请求进来时会发生什么......
a) 客户端请求是否处于(阻塞)等待状态或
b)服务器立即拒绝连接..或
c) 我们能否以编程方式处理这种情况,以根据我们特定应用程序的 SLA 给出定制的响应