这个问题在这里已经有了答案:WhenisitnecessaryorconvenienttouseSpringorEJB3orallofthemtogether?(2个答案)关闭3年前。我需要一些说明。我知道如何使用JSF及其相应的sessionbean,但我对EJB感到困惑。EJB引入的bean和JSF使用的sessionbean之间有什么区别(对于ejb,我知道无状态/完整sessionbean和实体bean、实体管理器等)。我只是不明白何时使用EJB以及何时使用jsfbean。除了实体bean之外,ejb有状态/无sessionbean看起来都类似于jsfsessionbean。我
我正在尝试在我的应用程序中使用EJB3.1中的计时器服务。@Stateless@LocalBeanpublicclassStatelessTimerSessionBean{@Schedule(minute="*",second="0",dayOfMonth="*",month="*",year="*",hour="9-17",dayOfWeek="Mon-Fri")publicvoidmyTimer(){System.out.println("Timerevent:"+newDate());}}"..settheEJBTimerService’sTimerDataSourcesetti
为了考试主要是面向组件设计和J2EE,复习了一些以前的试卷,我遇到了以下问题:场景3的初步调查:“交换请求”表明两个EJB将提供合适的解决方案:一个名为EnterExchangeRequest的sessionbean用于控制处理,一个名为ExchangeRequest的实体bean用于表示请求的持久属性.讨论以下接口(interface)的作用:首页远程本地首页本地以及它们将如何提供对上述EJB服务的访问。我可以尝试解释Home和Remote界面如何适合图片。我还听到讲师说可以用LocalHome替换Home,用Local替换Remote(为什么?),但他们为什么要我同时讨论所有四个人
有没有一种方法可以使用Maven构建不包含部署描述符的EJB项目? 最佳答案 org.apache.maven.pluginsmaven-ejb-plugin3.0您需要告诉Maven使用EJB3.0。 关于java-错误组装EJB:META-INF/ejb-jar.ejbVersion2.x需要xml,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/20240372/
我有以下代码来管理两种存储库。两个存储库类都继承了一个接口(interface)以允许重新初始化它们的资源。publicinterfaceCachingRepository{publicvoidinvalidateCache();}全局的、应用范围的存储库:@Named("globalRepo")@ApplicationScopedpublicclassGlobalRepositoryimplementsCachingRepository{privateListcategories;...@OverridepublicvoidinvalidateCache(){categories=n
我在构建EJBsessionbean时遇到了问题。无法找到以下包:importjavax.ejb.LocalBean;importjavax.ejb.Stateful;importjavax.ejb.TransactionManagement;importjavax.ejb.TransactionManagementType;一些解决方案暗示将库j2ee.jar和javaee.jar添加到java构建路径。我正在使用jdk-7u75-windows-x64和java_ee_sdk-7-windows-ml并且在给定位置找不到任何这些库($JAVA_HOME\库)。我在Windows7x
我能否(如果可以,如何?)在EJB模块中使用javax.naming.Context#lookup查找CDI管理的bean?我正在使用GlassFishv3。我想我可以使用@Named,但是CDI托管bean的JNDI名称是什么?我想从非托管POJO中查找它们,所以我不能使用@Inject。 最佳答案 您还可以使用CDI.current()访问BeanManager,这样可以节省您键入的好几行代码。示例取自here使用CDI.current()BeanManagerbm=CDI.current().getBeanManager();
对于有ejb经验的人来说,这可能是个愚蠢的问题......我想通过@Schedule注释为我的一个使用JavaEE调度程序的EJBbean动态读取和更改分钟参数。有人知道如何在运行时执行此操作,而不是像下面这样在类中对其进行硬编码吗?如果我要以编程方式执行此操作,我仍然可以使用@Schedule注释吗?@Schedule(dayOfWeek="0-5",hour="0/2",minute="0/20",timezone="America/Los_Angeles")privatevoidcheckInventory(){} 最佳答案
在学习JSF2时,我意识到我不确定支持组件应该是什么。从设计的角度来看,EJB和@ManagedBeans有什么区别?最终还是要用JPA,业务层自然选择EJB。直接从JSF使用EJB是一种好的做法吗(如here所述)?目前,我倾向于将@ManagedBean用于不需要访问业务层(例如View助手)或处理请求/session数据的组件。用于其他目的,例如在网格中列出一些东西,我会直接访问EJB。这是一个好的设计吗?为了干净的层分离,我是否应该对所有支持beans使用@ManagedBeans,即使在某些情况下它们只委托(delegate)给EJB? 最佳答案
是否可以从EntityManager获取HibernateSession对象?我想访问一些特定于hibernate的API...我已经尝试过类似的方法:org.hibernate.SessionhSession=((EntityManagerImpl)em.getDelegate()).getSession();但只要我在EJB中调用一个方法,我就会得到“在EJB上调用期间发生系统异常”并带有NullPointerException我使用glassfish3.0.1 最佳答案 Bozho和partenon是正确的,但是:在JPA2中