ejb-3.0相关内容
我正在使用JBoss 6.1及其不完全符合EJB 3.1的规范。到目前为止,我无法通过 @EJB 将EJB注入我的Struts动作类(或任何非Java EE容器管理的类)中,但这会是 如果没有完全实现EJB 3.1规范,是否可能在可预见的将来由于性能原因而无法实现? 解决方案 没有容器将无法向非托管对象中注入任何东西。 为了能够注入到对象中,容器需要管理对象的生命周期,或者至少
..
我遍历了关于有状态和无状态会话bean以及它们如何工作的各种书籍。我想知道这些ejb的实际用法以及与使用普通java类相比的优点。基本上,什么时候去无状态ejb,什么时候去有状态ejb。我想要一个实时应用程序。 解决方案 此类ejb的用法通常在服务层中作为服务类。 EJB3无状态和有状态Bean实际上是POJO(带有一些注释),它们与普通类没有太大区别。 但在术语上在使用方面,
..
我有一个需要配置其他项目的现有项目。这需要在没有重大代码更改的情况下发生。我实际上希望只能通过配置以某种方式做到这一点。在过去的2至3天内,我阅读了有关此问题的所有资料。我了解玻璃鱼类加载器,以及对我有用的东西。 我有一个当前的示例项目,该项目的EJB定义了@Local接口。 ejb作为ejb模块部署在glassfish域中的ejb模块内部。 现在,我试图为另一个部署到同一域的应用程序找
..
我有一个由两个EJB实现的业务接口。 UserManagementService @Remote 公共接口UserManagementService { // ... } UserManagementServiceJpaImpl @Stateless(name =“ userManagementServiceJpaImpl”) 公共类User
..
使用Weblogic 10.3.6,Spring 4.0.6,Spring Data JPA 1.6.2,Eclipselink(同时复制了Weblogic嵌入式2.3版本和最新的2.5.2)时,我遇到了一个奇怪且难以调试的问题,并且容器托管交易。 (我将Weblogic更新为使用JPA 2.0安装Oracle提供的补丁)。 问题如下:我有一个简单的无状态EJB 3.0在其中确实使用了Sp
..
我正在研究从EAR 3和将EAR文件部署到WebLogic的EJB 3应用程序加载外部属性文件的最佳方法。 我在考虑使用初始化servlet,但是我在某个地方读取它会太慢(例如,我的消息处理程序可能会在init servlet运行之前从我的JMS队列接收到一条消息)。 假设我有多个属性文件或一个文件在这里: 〜/ opt / conf / 到目前为止,我认为这是最好的解决方
..
伙计们, 每次新版本的JBoss发布时,我不得不重新学习并浪费时间用这些东西,这让我很生气。 我有一个在JNDI空间中发现并声明的无状态EJB: 10:01:53,044信息[org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase]在全局JNDI中绑定以下条目: DTalk / UserManage
..
实际上,我需要连接在我的应用程序服务器中创建的两个 mysql 数据源。我正在使用 JPA2.0 我尝试了以下代码。但是我收到异常“ java.lang.IllegalStateException:本地事务已具有1个非XA资源:无法添加更多资源。 ”。 import com.google.common.collect.Lists; import java.sql.Connecti
..
我正在做一个项目,我们需要决定如何公开持久层。 表上当前有两个选项: 1)使用普通DAO。这些将实现一个接口,并被注入(可能使用Weld)在作为EJB的业务组件中。在内部,他们将使用JPA / Hibernate进行持久化。 2)不是使用Weld注入DAO,而是将它们实现为EJB,并在业务中注入@EJB。组件。 在我们不使用EJB的功能(例如事务管理-业务层处理此功能)时,
..
我们都知道,在Web层中,可能仅存在一个给定Servlet的单个实例来服务多个请求。这可能导致实例变量中出现线程问题。 我的问题是,使用@EJB注释将EJB作为实例变量注入EJB是否安全? / p> 在相同的EJB实例将同时服务多个请求的假设下,我的最初直觉不会。似乎这也将是许多其他程序员的本能:不要注入servlet 但是我跳了一个错误的结论。显然,注入到servlet中的是代
..
我刚刚在,因为我在我的应用程序我想知道是否有可能控制或影响启动豆类的方式和时间。 在我的Java EE应用程序中,我使用EJB,CDI和JSF2作为视图技术。通过SPI引导来自第三方的服务,并配置一个作业执行程序,该作业执行程序启动作业并处理其他与计时器相关的内容。作业执行程序完成引导程序后,将立即执行一项作业。该作业使用CDI注入来访问某些bean,并且其中一个bean使用EJB。
..
我有以下代码来管理两种存储库。这两个存储库类都继承一个接口,以允许对其资源进行重新初始化。 公共接口CachingRepository { public void invalidateCache(); } 应用程序范围的全局回购: @Named(“ globalRepo”) @ApplicationScoped 公共类GlobalRepository实
..
使用JBoss/Wildfly,可以使用@TransactionTimeout专有注释并为特定的Session Bean定义事务超时. 使用 IBM WebSphere 的等效方法是什么? 我们正在使用EJB Timer,其中一个Bean将在一个多小时内完成. Wildfly的示例代码: import org.jboss.ejb3.annotation.Transactio
..
我正在构建使用EJB 3进行数据处理的小框架. 我有从数据源抽象的实体访问对象层.现在,我需要某种工厂,它将为我提供查询实体的合适的bean. 通过JNDI本地bean接口将查询作为参数传递给另一个本地bean是否安全?是像@EJB场合那样,将从此本地接口调用的每个方法都寻址到相同的bean,还是将每个调用传递给不同的无状态bean? 解决方案 您无法保证使用JNDI会给您相同的E
..
现在,在EJB 3.1中,我们可以找到javax.ejb.Singleton注释,它可以确保此bean将成为单例. 有没有一种方法可以确保我在EJB 3.0中使用无状态bean并在我的代码中进行一些修改(使用关键字static或其他方式实现此目的...) 解决方案 如果您可以将@Stateless bean池的大小限制为正好1,那么您可以非常接近@Singleton. 效果就像
..
我有一个这样定义的EJB: package com.foo; @Stateless (mappedName="HelloWorld") public class HelloWorldBean implements HelloWorld, HelloWorldLocal .... 当部署到Weblogic(WL)时,它将获得名称myBean.我不确定这是否重要. 我尝试使用以下代码调
..
这段代码激怒了我, 有时它可以工作,而另一些时候却不起作用! NamedQuery :(名称="User.findByLogin",查询="SELECT u 从用户u WHERE u.login =:login“) public User findByLogin(String login) { Query query = em.createNamedQuery("Use
..
由于某种原因,我在MimeMessage上调用Transport.send()时遇到javax.mail.internet.ParseException.以前,它只是纯文本电子邮件,但是当我将其更改为同时包含文本和html时,此方法开始起作用.有什么想法我做错了吗? @Resource(mappedName = "java:/Mail") private Session mailer
..
我添加了以下批注以启用对我的EJB3实体之一的缓存,以测试使用ehCache的缓存,在这里我将Hibernate用作持久性提供程序: .... import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; @Entity @Table(name = "F"
..
基于UserTransaction接口的BMT的完整编程吗?换句话说,如果我想使用BMT,在任何情况下我需要的服务要比UserTransaction接口提供的服务更多. 为什么要问这个问题?如果我使用事务管理器的其他实现(例如Bitronix TM或Atomikos)而不是容器提供的默认设置,是否足以将新的TM注入UserTransaction对象中? -谢谢 解决方案 这实际
..