草庐IT

java - 无状态 session bean 中的静态字段

如果我在无状态bean中有一个静态字段:@Stateless@Local(SomeClass.class)publicclassAccountBeanimplementsSomeClass{privatestaticfinalintSTATIC_FIELD=0;publicAccountBean(){}}STATIC_FIELD值是否会在所有AccountBean实例中共享,就像在基本类中一样?EDIT按照下面的建议将字段标记为final。 最佳答案 是的,它会被共享,但当然只能在单个JVM中共享。它的大写表明它是一个常量,因此应该

Java EE - 谁实现规范?

这个问题在这里已经有了答案:WhatexactlyisJavaEE?(6个答案)关闭6年前。我在核心Java和JavaEE方面有一些经验。我阅读了关于SO的各种问题,以了解JavaEE究竟是什么?SO中的几个答案是:what-exactly-is-java-ee,what-is-java-ee我有一些疑问:1)如果JavaEE只是一个规范,那么谁来实现它们?应用服务器(如JBOSS、GlassFish)是否实现了这些规范?2)如果我是正确的,EJB规范是由EJB容器实现的,并且我相信EJB容器是应用程序服务器的一部分。现在,当我们作为开发人员编写EJB代码时,我们实际上在做什么?我的疑

java - @ViewScoped 托管 bean 中的 @EJB 导致 java.io.NotSerializableException

我一直在用@ViewScoped托管bean来解决我的问题。我正在使用primeface的“计划”组件来显示一些事件。当用户单击特定按钮时,将使用ajax调用viewscopedbean中的方法,但每次我得到一个“java.io.NotSerializableException”,如果我更改托管bean范围以请求问题消失。我做错了什么?有什么想法吗?这是我的托管bean:@ManagedBean(name="schedule")@ViewScopedpublicclassScheduleMBeanimplementsSerializable{@EJBprivateCongeBeanco

java - 在 AS7 中转换查找的 EJB View 时出现 ClassCastException

我正在将2个EAR部署到JBossAS7.1.0.Alpha1-SNAPSHOT(7.0.1.Final后版本)。两者都部署良好。我有一个EJBSingleton类打包在一个JAR中,在其中一个EAR中:@Startup@Singleton//oneof@Local(Store.class),@Remote(Store.class),@LocalBean@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)@Transactional(TransactionPropagation.SUPPORTS)publicclas

java - 启动 ejb bean 不工作

我正在尝试使用启动ejb在启动时做一些事情。但是我的bean从未被调用过。这是我的bean:importjavax.annotation.PostConstruct;importjavax.ejb.Startup;importjavax.inject.Singleton;@Singleton@StartuppublicclassStartupBean{@PostConstructpublicvoiddoSomething(){System.out.println("why??");}}我正在使用jboss7.1.1。我做错了什么?你可以在bitbucket找到我的源代码:https:/

java - ejb有关角色和身份验证的安全性问题

如果有人可以帮助我解决以下问题,我将不胜感激:@RolesAllowed和@DeclareRoles批注之间有什么区别?我开发了一个登录功能来根据数据库中的信息检查用户名和密码。但是,我想问一下如何将角色分配给经过身份验证的用户,以与上述批注一起使用。 最佳答案 Whatarethedifferencesbetween@RolesAllowedand@DeclareRolesannotations?@RolesAllowed批注用于指定实际上允许访问业务方法的角色列表。此注释的存在会影响EJB在运行时的行为,因为EJB容器会主动验证

java - EJB 容器是否驻留在所有应用程序服务器中。 EJB容器深入

我是EJB的新手。通过到目前为止的所有阅读和搜索,我了解到以下内容:EJB是编写和维护应用程序业务逻辑的bean。所有的EJB都放在称为EJB容器的东西中。EJB容器不过是为管理EJB而编写的服务器端程序,并提供EJB应提供的基本功能(即事务管理、安全性、无冲突环境等)。1)我的疑问是,所谓的EJB组件是否驻留在所有应用程序服务器中?2)当我们说EJB2.1/3.0/3.1时,是否意味着新版本的EJB容器已经发布了?3)EJB容器是否也驻留在Web服务器中?谢谢。 最佳答案 您正确理解了EJB思想。是和否。取决于您对“应用程序服务器

java - EJB 还活着吗?

您还在项目中使用session或实体EJB吗?为什么? 最佳答案 EJB3是对以前版本的巨大改进。它技术上仍然是JavaEE的标准服务器端实现工具集,并且由于它现在没有任何以前的包袱(由于注释和Java持久性),因此非常有用并且在我们说话时正在部署。正如一位评论者指出的那样,JBossSEAM就是基于它的。EJB3是Spring的可行替代方案,这两种技术可能会变得更加紧密相关。this文章详细介绍了Spring3.0将与EJBLite兼容(我不确定它到底是什么)并且可能成为JavaEE6的一部分。EJB不会去任何地方。

名称[EJB:..]在此上下文中不绑定。无法找到[ejb:]。]有根本原因Javax.Naming.NamenotfoundException in Wildfly

我试图在偏远的环境中致电我的EJB,并将Wildfly用作我的容器。抱歉,这是我第一次试图以远程方式致电EJB。我使用以下说明来调用野生蝇中的EJB。https://docs.jboss.org/author/display/wfly8/ejb+invocations+from+a+remote+client+client+using+jndi但是,我遇到了一个错误,称这些ejbs,我不知道我的配置有什么问题。请参阅下面的错误堆栈跟踪:SEVERE:Servlet.service()forservlet[dispatcher]incontextwithpath[/Project-demo]th

java - WebSphere 7. 从另一个应用程序注入(inject) EJB

我正在尝试使用@EJB注释注入(inject)EJB:当我将一个EJB注入(inject)同一只耳朵中的另一个EJB时,它工作正常。当我将一个EJB从另一个耳朵注入(inject)另一个EJB时服务器我得到一个异常:EJBthrewanunexpected(non-declared)exceptionduringinvocationofmethod"sayHello".Exceptiondata:javax.ejb.EJBException:Injectionfailure;nestedexceptionis:com.ibm.ejs.container.EJBNotFoundExcep